以现在的DEDECMS不可能出现的一个漏洞,重STOP群传出的..之后去拿shell到修复漏洞..$conn变量没有过滤!
漏洞文件:php/viewart.php
require_once("config.php");
require_once("../manage/inc_makeart.php");
if(isset($artID)) $ID=$artID;
if(!isset($ID))
{
echo "指定的文章不存在!";
exit;
}
//检测会员权限
$conn = connectMySql();
$rs = mysql_query("select dede_art.title,dede_art.msg,dede_art.rank,dede_membertype.membername from dede_art left join dede_membertype on dede_art.rank=dede_membertype.rank where dede_art.ID=$ID",$conn);
$row = mysql_fetch_array($rs);
$sta = CheckUser($row["rank"]);
//如果用户没权限
if($sta==0)
{
$body = "";
$body .= "你要查看的文章是:".$row["title"];
$body .= "
文章简介:".$row["msg"]."
这篇文章是 ".$row["membername"];
$body .= " 文章,你的权限不足,无法查看!
";
$body .= "如果你已经升级为这个级别的会员,";
$body .= "请点击此重新登录";
$body .= "
点击此返回上一页";
echo $body;
exit();
}
//////////////正常情况返回的内容///////////
if(!isset($page)) $page=0;
$mr = new makeArt();
echo $mr->makeArtView($ID,$page);
?>
第一种修复:$conn = str_replace("select", "/_", $conn);
第二种修复:if (!get_magic_quotes_gpc()) {
$conn = addslashes($conn);
}
【编辑推荐】