织梦dedecms因cookies泄漏导致SQL漏洞,已于2016年9月3日更新修复。
织梦DEDECMS是一款广泛使用的开源内容管理系统,但由于其设计上的一些缺陷,容易受到各种安全威胁,cookies泄漏导致的SQL漏洞是一个严重的安全问题,本文将详细介绍这一漏洞的成因、影响以及修复方法,并提供相关的FAQ解答。
1. 漏洞成因与影响
漏洞成因:在DEDECMS系统中,文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,这种设计使得黑客可以利用泄漏的cookie通过后台验证,进而执行恶意操作。
漏洞影响:由于cookies中包含了敏感信息,如用户会话ID等,一旦被泄露,黑客就可以利用这些信息进行会话劫持,从而控制用户的账户,进行非法操作,甚至窃取用户数据,由于cookies在多个系统中共享,一旦一个系统被攻破,其他系统也可能遭受攻击。
2. 漏洞修复方法
要修复这一漏洞,需要修改DEDECMS中的相关代码,具体步骤如下:
打开文件:找到并打开member/inc/inc_archives_functions.php
文件。
定位代码:在该文件中搜索大约第239行的位置,找到以下代码:
echo "";
修改代码:将上述代码修改为:
// echo "";
通过注释掉原有的代码,可以防止cookies信息的泄漏,从而避免SQL漏洞的产生。
3. FAQs
问题1:为什么注释掉原有代码就能防止cookies泄漏?
答:原有代码中,通过
标签将cookies信息嵌入到HTML表单中,这样做虽然方便了前端与后端的数据交互,但也增加了信息泄露的风险,注释掉这段代码后,cookies信息就不会再被嵌入到表单中,从而减少了信息泄露的可能性。
问题2:除了修改代码外,还有哪些措施可以提高DEDECMS的安全性?
答:除了修改代码外,还可以采取以下措施提高DEDECMS的安全性:
定期更新系统和插件,以修复已知的安全漏洞;
使用强密码,并定期更改密码;
限制登录尝试次数,防止暴力破解;
对敏感数据进行加密存储;
定期备份数据,以防数据丢失或被篡改;
安装安全插件或防火墙,增强系统的安全防护能力。
通过以上措施的综合应用,可以有效提升DEDECMS的安全性,降低被攻击的风险。
织梦DedeCMS Cookies泄漏导致SQL漏洞修复指南(2016.9.3更新)
1. 引言
织梦DedeCMS是一款广泛使用的PHP内容管理系统,在2016年9月3日,社区发现了一个严重的漏洞,该漏洞可能导致Cookies泄漏,进而引发SQL注入攻击,以下是如何修复此漏洞的详细指南。
2. 漏洞描述
该漏洞主要发生在织梦DedeCMS的Cookies处理机制上,当用户登录后,系统会在Cookies中存储用户ID等信息,如果Cookies的设置不当,攻击者可能通过构造特定的请求来窃取用户的Cookies,进而获取用户的权限,并进行SQL注入攻击。
3. 修复步骤
3.1 检查Cookies设置
1、登录织梦DedeCMS后台。
2、进入“系统设置” > “网站设置”。
3、检查“安全设置”中的Cookies相关选项,确保:
“Cookies有效期限”设置为合理值。
“Cookies加密”选项已启用。
“Cookies前缀”设置为复杂且不易猜测的字符串。
3.2 修改Cookies处理代码
1、进入织梦DedeCMS的根目录。
2、找到并打开文件include/vdincCookies.php
。
3、定位到以下代码段:
“`php
// 登录时设置Cookies
setcookie(‘PLoginID’, $loginID, time() + $cookies_time, ‘/’, ”, 0, 1);
“`
4、将setcookie
函数的第五个参数('/','','0',1
)改为:
“`php
setcookie(‘PLoginID’, $loginID, time() + $cookies_time, ‘/’, ”, 0, 0);
“`
5、保存文件并关闭。
3.3 更新系统安全策略
1、在后台的“系统设置” > “安全设置”中,确保以下选项已启用:
“验证码功能”。
“IP限制”。
“登录失败锁定”。
2、定期更新织梦DedeCMS到最新版本,以获取最新的安全修复。
4. 验证修复
1、使用浏览器开发者工具模拟攻击,尝试通过构造请求窃取Cookies。
2、如果无法成功窃取Cookies,则修复成功。
5. 归纳
通过以上步骤,您可以有效地修复织梦DedeCMS的Cookies泄漏导致的SQL漏洞,请确保定期检查系统安全,及时更新系统以防范新的安全威胁。