1.受影响版本DEDECMS 5.7、5.6、5.5。
2.漏洞文件/include/common.inc.php
3.DEDECMS的全局变量初始化存在漏洞,可以任意覆盖任意全局变量。
危害:
1.黑客可以通过此漏洞来重定义数据库连接。
2.通过此漏洞进行各种越权操作构造漏洞直接写入webshell后门。
解决方案:
临时解决方案:
在 /include/common.inc.php 中
找到注册变量的代码
代码如下:
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);
}
修改为
代码如下:
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_v) {
if( strlen($_k)>0 && eregi('^(cfg_|GLOBALS)',$_k) ){
exit('Request var not allow!');
}
${$_k} = _RunMagicQuotes($_v);
}
}