dedecms cookies泄漏导致SQL漏洞的修复方法
最近,公司做的新网站都是用dedecms系统搭建的,虽说dedecms(织梦)系统是很好用,但织梦程序的最头疼的就是安全问题了,今天,公司的网站就收到阿里云后台的信息提示网站存在一些漏洞需要及时处理。漏洞提示:dedecms cookies泄漏导致SQL漏洞;漏洞描述是:dedecms的文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,黑客可利用泄漏的cookie通过后台验证,进行后台注入。如下图所示:
该漏洞所处的路径为:/member/inc/inc_archives_functions.php,对于该漏洞,我去网上查找了一下,很多织梦的网站也都提示此漏洞,解决方法也比较简单,在此,我便借助马海祥博客的平台将修复方法分享如下:
漏洞名称:dedecms cookies泄漏导致SQL漏洞
危险等级:★★★★★(高危)
漏洞文件:/member/inc/inc_archives_functions.php
披露时间:2016-08-22
漏洞描述:dedecms的文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,黑客可利用泄漏的cookie通过后台验证,进行后台注入。
修复方法:
查找网站根目录下的include文件夹,并打开/member/inc/inc_archives_functions.php文件,找到大概第239行的代码:
echo "<input type=\"hidden\" name=\"dede_fieldshash\" value=\"".md5($dede_addonfields.$cfg_cookie_encode)."\" />";
修改为:
echo "<input type=\"hidden\" name=\"dede_fieldshash\" value=\"".md5($dede_addonfields.'anythingelse'.$cfg_cookie_encode)."\" />";
注意,此段代码也就是多加了一句 'anythingelse' 的代码 ,其他没什么变动,红色标示的即是修改的部分:
echo "<input type=\"hidden\" name=\"dede_fieldshash\" value=\"".md5($dede_addonfields.'anythingelse'.$cfg_cookie_encode)."\" />";
说明:自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示。
提醒大家一点,作为一个非资深技术人员,在修改网站文件前请先做好文件备份,以免修改错误导致无法恢复,影响网站的正常使用。
再者就是网站出现了漏洞提示,一定要记得及时的修复,以免被不法之人利用挂马,导致网站被降权,到时就追悔莫及了!