dedeCMS模版SQL注入漏洞和SQL注入漏洞的修复方法
今天,在检查阿里云服务器安全问题的时候,发现服务器上的织梦网站有2个漏洞提示,分别为:dedecms模版SQL注入漏洞;dedecms SQL注入漏洞。该漏洞都是来自织梦的/member/文件夹中的soft_add.php和album_add.php文件的不安全,导致SQL注入的发生。
在阿里云的漏洞描述详细区域下方将有收到影响的文件以及服务器,可以使用阿里云建议的修复方案。
从阿里云提示的信息可知,阿里云云安全中心给出的修复方案为:
方案一:使用云盾自研补丁进行一键修复;
方案二:更新该软件到官方最新版本或寻求该软件提供商的帮助。
【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】
如果不使用官方推荐的解决方案,或者没有购买安全修复功能服务,那你只能使用网上查找的修复方案,刚在网上查找到一个解决方案,解决方法也比较简单,在此,我便借助马海祥博客的平台将修复方法分享如下:
1、dedecms模版SQL注入漏洞
首选,我们先来看看dedecms模版SQL注入漏洞,如下图所示:
漏洞名称:dedecms模版SQL注入漏洞
危险等级:★★★★★(高危)
漏洞文件:/member/soft_add.php
披露时间:2016-07-28
漏洞描述:dedecms的/member/soft_add.php中,对输入模板参数$servermsg1未进行严格过滤,导致攻击者可构造模版闭合标签,实现模版注入进行GETSHELL。
修复方法:
查找网站根目录下的member文件夹,并打开/member/soft_add.php文件,找到大概第155行的代码:
$urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n";
修改为:
if (preg_match("#}(.*?){/dede:link}{dede:#sim", $servermsg1) != 1) { $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}\r\n"; }
如下图所示:
说明:自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示。
2、dedecms SQL注入漏洞
然后,我们先来看看dedecms SQL注入漏洞,如下图所示:
漏洞名称:dedecms SQL注入漏洞
危险等级:★★★★★(高危)
漏洞文件:/member/album_add.php
披露时间:2016-07-26
漏洞描述:dedecms的/dedecms/member/album_add.php文件中,对输入参数mtypesid未进行int整型转义,导致SQL注入的发生。
修复方法:
查找网站根目录下的member文件夹,并打开/member/album_add.php文件,找到大概第221行的代码:
//保存到主表
$inQuery = "INSERT INTO `ma_archives`(id,typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,
color,writer,source,litpic,pubdate,senddate,mid,description,keywords,mtype)
修改为:
//保存到主表
$mtypesid = intval($mtypesid);
$inQuery = "INSERT INTO `ma_archives`(id,typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,
color,writer,source,litpic,pubdate,senddate,mid,description,keywords,mtype)
简单来说,其实就是在“//保存到主表”下面一行新增一句:
$mtypesid = intval($mtypesid);
就可以了,如下图所示:
说明:自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示。
提醒大家一点,作为一个非资深技术人员,在修改网站文件前请先做好文件备份,以免修改错误导致无法恢复,影响网站的正常使用。
再者就是网站出现了漏洞提示,一定要记得及时的修复,以免被不法之人利用挂马,导致网站被降权,到时就追悔莫及了!