当前位置:首页 >> 网络通讯 >> 网络安全 >> 内容

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

时间:2015/5/19 18:46:16 作者:平凡之路 来源:xuhantao.com 浏览:

简要描述:

由于对参数的变量未作初始化检测及使用了类反射的技巧导致 plus\feedback.php 中变量 $typeid 存在注入风险。涛涛电脑知识

 涛涛电脑知识网

详细说明:

 

 

由于官方已经发布补丁,而且漏洞未提供POC攻击代码,故此漏洞提前公开。

补丁地址:

 

构造的方式我不提供了,但是你有心阅读下代码就会明白了。

 

...

if($comtype == 'comments')

    {

        $arctitle = addslashes($title);

        if($msg!='')

        {

            $inquery = "INSERT INTO `pigdn_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 `pigdn_feedback` WHERE id ='$fid'");

        $arctitle = $row['arctitle'];

        $aid =$row['aid'];

        $msg = $quotemsg.$msg;

        $msg = HtmlReplace($msg, 2);

        $inquery = "INSERT INTO `pigdn_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信息的问题结果演示。

 

 

 

 

修复方案:

今天突发想作作代码审计, dedecms中HTTP的输入上用类反射这个技巧第一次见(好吧,我承认我是第一次玩PHP代码审计)。

建议考虑在反射上作得全面点,支持输入参数的类型和开发对应的过滤器作到更灵活更安全,这会给你们解决其中很多没反馈的问题。 

 

相关文章
  • 没有相关文章
  • 徐汉涛(www.xuhantao.com) © 2024 版权所有 All Rights Reserved.
  • 部分内容来自网络,如有侵权请联系站长尽快处理 站长QQ:965898558(广告及站内业务受理) 网站备案号:蒙ICP备15000590号-1