首页 > 代码库 > dedecms SESSION变量覆盖导致SQL注入漏洞修补方案
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注入漏洞修补方案
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。