如何来解决Discuz memcache+ssrf GETSHELL漏洞的问题

 更新时间:2016年6月8日 09:24  
这2天,很多站长肯定都收到阿里云提示discuz memcache+ssrf GETSHELL漏洞的相关说明,但购买阿里云云盾安骑士最少需要支付100块钱,下面我就在猪先飞网给大家分享下如何来解

    这2天,很多站长肯定都收到阿里云提示discuz memcache+ssrf GETSHELL漏洞的相关说明,但购买阿里云云盾安骑士最少需要支付100块钱,下面我就在猪先飞网给大家分享下如何来解决Discuz memcache+ssrf GETSHELL漏洞的问题。

    该漏洞描述:discuz存在SSRF漏洞,在配置了memcache的情况下,攻击者可以利用ssrf通过memcache中转,向磁盘上写入WEBSHELL恶意代码,从而造成数据库泄漏

    官方发布相关说明:及时更新Discuz! X3.2 正式版 2016-06-01补丁更新(含安全更新)阿里云的安全提示忽略也是可以。


解决方法一:

利用云盾安骑士修复/source/function/function_core.php

该文件在1089行加入了一段代码,如下面的代码,可自行添加。

if (preg_match("(/|#|\+|%).*(/|#|\+|%)e", $_G['setting']['output']['preg']['search']) !== FALSE) { die("request error"); }

$content = preg_replace($_G['setting']['output']['preg']['search'], $_G['setting']['output']['preg']['replace'], $content);


解决方法二:  停止使用或卸载memcache

Windows下的Memcache卸载方法:

memcached -d stop

memcached -d remove

sc delete "Memcached Server"

linux memcached 卸载方法:

1、首先查找你的memcached所在目录,可用如下命令查找名为memcached的文件夹

find / -name memcached

2、结束memcached进程

killall memcached

3、删除memcached目录及文件

rm -rf /www/wdlinux/memcached

rm -rf /www/wdlinux/init.d/memcached

4、关闭memcached开机启动

chkconfig memcached off

5、把memcached移出开机启动

chkconfig --del memcached