dedeCMS留言板注入漏洞的修复方法
最近公司的网站要开设一个留言板功能,于是便用dedecms做了一个留言板页面,可一上线,就收到阿里云后台的信息提示网站存在一些漏洞需要及时处理,进入阿里云后台,查看了一番,发现漏洞提示:留言板注入漏洞;漏洞描述:dedecms留言板注入漏洞。如下图所示:
从阿里云提示的信息可知,阿里云云安全中心给出的修复方案为:
方案一:使用云盾自研补丁进行一键修复;
方案二:更新该软件到官方最新版本或寻求该软件提供商的帮助。
【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】
如果不使用官方推荐的解决方案,可以使用网上查找的修复方案,刚在网上查找到一个解决方案,解决方法也比较简单,在此,我便借助马海祥博客的平台将修复方法分享如下:
漏洞名称:dedecms注入漏洞
危险等级:★★★★★(高危)
漏洞文件:/plus/guestbook/edit.inc.php
披露时间:2015-05-22
漏洞描述:dedecms留言板注入漏洞。
修复方法:
查找网站根目录下的/plus/guestbook/文件夹,并打开/plus/guestbook/edit.inc.php文件,找到以下代码:
大概第55行的代码:(把【数据表前缀】更换为#@ )
$dsql->ExecuteNoneQuery("UPDATE `【数据表前缀】__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");
修改为:(把【数据表前缀】更换为#@ )
$msg = addslashes($msg); $dsql->ExecuteNoneQuery("UPDATE `【数据表前缀】__guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");;
注意:【数据表前缀】默认的为dede_,如果你在安装织梦程序之时自定义修改了数据表前缀就是你所修改的名称!
如图所示:
说明:自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示。
提醒大家一点,作为一个非资深技术人员,在修改网站文件前请先做好文件备份,以免修改错误导致无法恢复,影响网站的正常使用。
再者就是网站出现了漏洞提示,一定要记得及时的修复,以免被不法之人利用挂马,导致网站被降权,到时就追悔莫及了!