漏洞修复版本:DedeCMS v5.7 20130607之后版本
http://bbs.safedog.cn/thread-52264-1-1.html
漏洞触发条件:确保php.ini中使用php_mysql.dll同时未开启php_mysqli.dll。
漏洞触发根源:在于/include/dedesql.class.php
文件中程序未初始化$arrs1和$arrs2这
两个数组,结合程序不安全的参数处理机制,导致我们能够覆盖程序中任意全局变量。因此我们可通过控制全局变量$GLOBALS['cfg_dbprefix']的值,进而通过$prefix值和/plus/download.php中的SQL语句构造,从而造成了此SQL注入漏洞。
由于DedeCMS使用广泛,而此高危注入漏洞利用方便,并且能够因此远程获取到管理后台管理员,或者可getshell获取到系统的控制权。网上已公开的有以下3种EXP:
1.1修改后台管理员
(1)如:构造如下注入SQL语句:
cfg_dbprefixadmin` SET `userid`='spider', `pwd`='f297a57a5a743894a0e4' where id=1
#修改后台管理员为:用户名spider,密码admin。
(2)对应的EXP:
(3)执行EXP后,相应后台数据库表变为如下:
(4)因此相应后台登录用户变为spider密码admin
------------------------------------------------------------------------------------------------------
1.2 通过/plus/mytag_js.php文件生成一句话木马php
(1)如:构造如下注入SQL语句:
cfg_dbprefixmytag` (aid,expbody,normbody) VALUES(9013,@`\'`,'{dede:php}file_put_contents(''mybak.php'','''');{/dede:php}') # @`\'`
(2)对应的EXP:
(
3
)执行
EXP
后,将向
数据库表
dede_mytag
中插入一条记录,如图:
(4)执行如下语句,在/plus目录下生成mybak.php一句话木马
http://www.test.com/dedecms5.7/plus/
mytag_js.php ?aid=9013
(5)使用菜刀工具进行连接
http://www.test.com/dedecms5.7/plus/mybak.php 密码:mybak
1.3使/plus/ad_js.php文件变为一句话木马php
(1)如:构造如下注入SQL语句:
cfg_dbprefixmyad` SET `normbody` = '' WHERE `aid` =1 #
(2)对应的EXP:
(
3
)执行
EXP
后,将向数据库表
dede_myad
中插入一条记录,如图;
(4)使用菜刀工具进行连接
http://www.test.com/dedecms5.7/plus/ad_js.php?aid=1 密码:m
那要怎样防范这种高危注入漏洞呢?下面我们一起来看看解决方法:
2、使用安全狗软件防护该漏洞
由于攻击者可能通过该漏洞进行各种恶意攻击,并因此对网站造成较大的风险危害。为最大程度减少这种可能性,用户可使用安全狗软件对网站进行了以下全方位的防护。
2.1网站安全狗--网站漏洞EXP规则防护
(
1)安装网站安全狗
3.0版本,安装完成后,打开网站安全狗界面并修改网站保护级别为:
高级(即开启所有防护),如下图:
(2)切换界面:主动防御—SQL注入防护,查看规则列表中是否有相应“Dedecms5.7版本exp注入漏洞”防护规则。
若无,
可点击如下图所示“在线更新防护规则”按钮,然后点击“保存”按钮完成更新防护规则列表
。如下图所示:
(3)在完成以上操作后,我们打开浏览器输入
DedeCMS 5.7注入漏洞
EXP,出现下图内容,这也说明该攻击已被网站安全狗拦截。
2.2网站安全狗--一句话木马防护
若是在使用网站安全狗进行防护之前,网站已被植入一句话木马;或者攻击者可能绕过前面的网站漏洞
EXP规则防护,向网站植入了一句话木马。此时可以使用网站安全狗的
第二重防护:一句话木马防护,通过拦截菜刀等工具连接和命令执行,来阻止攻击行为。具体如下:
(
1)打开网站安全狗界面,确认当前网站保护级别为:高级(即开启所有防护),如下图:
(2)切换到主动防御界面,点击“在线更新防护规则”确认防护规则为最新版本。使用菜刀工具连接一句话木马,出现如下图画面,可见菜刀工具的连接已被网站安全狗拦截防护。
(3)若是攻击者绕过了菜刀工具连接防护,则网站安全狗将继续对菜刀工具的命令执行行为进行拦截阻止。
在菜刀工具操作界面,右击“更新缓存”命令,如下图:
菜刀工具将出现如下界面,表明菜刀工具的命令执行已被网站安全狗拦截防护,以阻止攻击者的进一步操作。
2.3利用服务器安全狗的文件目录保护功能阻止未知攻击
如上可知,该
Dedecms5.7注入漏洞有在网站目录下生成一句话木马的
EXP,针对该情况,用户也可用服务器安全狗的文件目录保护功能对该类型
EXP进行防护。
(1)安装服务器安全狗,安装完成后,打开服务器安全狗界面,通过服务器安全狗
-主动防御
-文件及目录保护
-网站保护规则,手动新增规则:“
Dedecms5.7版本系统
exp规则”,将监控目录设置为
DedeCMS网站站点的目录,并勾选禁止写入、禁止创建,如下图:
(2)文件(夹)名包含的字符设置为:
*,文件扩展名规则设置为:
php|asp|aspx|asa|asax|ascx|ashx|asmx|cdx|cer|cgi|jsp,如下图:
(3)通过以上规则设置后,在网站被攻击者使用以下漏洞EXP类型时,
http://www.test.com/dedecms5.7/plus/mytag_js.php?aid=9013,
服务器安全狗就可直接拦截,避免攻击者在网站/plus目录下生成*.php、*.asp、*.aspx、*.asa、*.asax、*.ascx、*.ashx、*.asmx、*.cdx、*.cer、*.cgi、*.jsp等类型的一句话木马文件,从而避免被进一步通过菜刀等工具获取到系统控制权。
点击下载规则: 禁止在Dedecms目录下创建非法文件.rar (520 Bytes, 下载次数: 299) (登陆论坛后可下载该规则)
备注:快速添加以上防护规则:直接使用服务器安全狗--主动防御--文件及目录保护界面的“导入规则”功能导入下载的xml文件格式规则,并点击修改导入的规则.
(注意把规则中的保护目录换成您自己网站的目录)