网站地图    收藏   

主页 > 后端 > 网站安全 >

dedeCMS最新注入漏洞一枚(20121030补丁修复) - 网站

来源:自学PHP网    时间:2015-04-17 12:00 作者: 阅读:

[导读] 简要描述:#8203;由于对参数的变量未作初始化检测及使用了类反射的技巧导致 plus\feedback.php 中变量 $typeid 存在注入风险。详细说明:由于官方已经发布补丁,而且漏洞未提供POC攻击代码...

简要描述:
由于对参数的变量未作初始化检测及使用了类反射的技巧导致 plus\feedback.php 中变量 $typeid 存在注入风险。
 
详细说明:
 
 
由于官方已经发布补丁,而且漏洞未提供POC攻击代码,故此漏洞提前公开。
补丁地址:http://bbs.dedecms.com/551651.html
 
构造的方式我不提供了,但是你有心阅读下代码就会明白了。
 
...
if($comtype == 'comments')
    {
        $arctitle = addslashes($title);
        if($msg!='')
        {
            $inquery = "INSERT INTO `detest_feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`, `mid`,`bad`,`good`,`ftype`,`face`,`msg`)
                   VALUES ('$aid','$typeid','$username','$arctitle','$ip','$ischeck','$dtime', '{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg'); ";
            $rs = $dsql->ExecuteNoneQuery($inquery);
            if(!$rs)
            {
                ShowMsg(' 发表评论错误! ', '-1');
                //echo $dsql->GetError();
                exit();
            }
        }
    }
    //引用回复
    elseif ($comtype == 'reply')
    {
        $row = $dsql->GetOne("SELECT * FROM `detest_feedback` WHERE id ='$fid'");
        $arctitle = $row['arctitle'];
        $aid =$row['aid'];
        $msg = $quotemsg.$msg;
        $msg = HtmlReplace($msg, 2);
        $inquery = "INSERT INTO `detest_feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`,`mid`,`bad`,`good`,`ftype`,`face`,`msg`)
                VALUES ('$aid','$typeid','$username','$arctitle','$ip','$ischeck','$dtime','{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg')";
        $dsql->ExecuteNoneQuery($inquery);
    } 
 
 
下面我给出一张带了echo信息的问题结果演示。
 
 
 
 
修复方案:
今天突发想作作代码审计,www.2cto.com dedecms中HTTP的输入上用类反射这个技巧第一次见(好吧,我承认我是第一次玩PHP代码审计)。
建议考虑在反射上作得全面点,支持输入参数的类型和开发对应的过滤器作到更灵活更安全,这会给你们解决其中很多没反馈的问题。 
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论