春哥 发表于 2016-6-19 15:08:57

Discuz memcache+ssrf GETSHELL漏洞【解决方案】

漏洞名称: Discuz memcache+ssrf GETSHELL漏洞
漏洞描述: Discuz存在SSRF漏洞,在配置了memcache的情况下,攻击者可以利用ssrf通过memcache中转,向磁盘上写入WEBSHELL恶意代码,从而造成数据库泄漏。任何的外部输入,包括memcache缓存都应该认为不可信,建议在任何从外部输入的数据都进行必要的转义和过滤,可禁用preg_replace /e代码执行

解决方法一:
利用云盾安骑士修复/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





页: [1]
查看完整版本: Discuz memcache+ssrf GETSHELL漏洞【解决方案】