zoukankan      html  css  js  c++  java
  • 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注入漏洞已经解决了!

     

  • 相关阅读:
    动态svg图片简单制作
    5418.二叉树中的伪回文路径
    5417.定长子串中元音的最大数目
    76.最小覆盖子串
    1371.每个元音包含偶数次的最长子字符串
    680.验证回文字符串II
    152.乘积最大子数组
    5397.最简分数
    5398.统计二叉树中好节点的数目
    5413.重新排列句子中的单词
  • 原文地址:https://www.cnblogs.com/sunbeidan/p/6800558.html
Copyright © 2011-2022 走看看