dedecms SESSION变量覆盖导致SQL注入漏洞修补方案

Posted 飞雪天下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dedecms SESSION变量覆盖导致SQL注入漏洞修补方案相关的知识,希望对你有一定的参考价值。

dedecms的/plus/advancedsearch.php中,直接从$_SESSION[$sqlhash]获取值作为$query带入SQL查询,这个漏洞的利用前提是session.auto_start = 1即开始了自动SESSION会话。

危害:

1.黑客可以通过此漏洞来重定义数据库连接。

2.通过此漏洞进行各种越权操作构造漏洞直接写入webshell后门。

 

云盾团队在dedemcs的变量注册入口进行了通用统一防御,禁止SESSION变量的传入,修复方法如下:

 

用文本编辑器打开/mnt/www/xiaoshuo/include/common.inc.php文件

一、搜索下面的字串 

(cfg_|GLOBALS|_GET|_POST|_COOKIE) 
 
替换为 

(cfg_|GLOBALS|_GET|_POST|_COOKIE|_SESSION) 
 

 

有两处`可以都替换一下`

二、搜索如下代码:

    foreach(Array(_GET,_POST,_COOKIE) as $_request)
    {
        foreach($_request as $_k => $_v) 
                {
                        if($_k == nvarname) ${$_k} = $_v;
                        else ${$_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);
    }
}

 这样SESSION变量覆盖导致SQL注入漏洞已经解决了!

 


以上是关于dedecms SESSION变量覆盖导致SQL注入漏洞修补方案的主要内容,如果未能解决你的问题,请参考以下文章

dedecms cookies泄漏导致SQL漏洞 article_add.php 的解决方法

DedeCMS 5.7 sp1远程文件包含漏洞(CVE-2015-4553)

dedecms有条件sql注入(x0day)

dedecms中全局系统自定义变量如何删除

多tomcat 同一个浏览器 多个项目 会导致session覆盖

Dedecms V5.7 关于session