Didcuz memcache+ssrf GETSHELL漏洞

  1. 云栖社区>
  2. 博客>
  3. 正文

Didcuz memcache+ssrf GETSHELL漏洞

goodchina 2016-06-08 18:37:44 浏览598
展开阅读全文
漏动来源阿里云云盾
漏动名称:Didcuz memcache+ssrf GETSHELL漏洞
漏动描述:Discuz存在SSRF漏洞,在配置了memcache的情况下,攻击者可以利用ssrf通过memcache中转,向磁盘上写入WEBSHELL恶意代码,从而造成数据库泄漏;

漏动文件:bbs/src/source/function/function_core.php
修复方法:
查找位置:
function output_replace($content) {

//....



// 此处添加内容

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);

}
//豆丁上看到的另一套方案
很多同学肯定都收到阿里云提示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);

使用方法,下载文件解压后,上传覆盖/source/function/function_core.php,后台更新缓存即可。
文件下载: gbk_function_core.rar (18.19 KB, 下载次数: 0)
  utf_8_function_core.rar (18.22 KB, 下载次数: 0)
解决方法二: 停止使用或卸载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

                    
                                                            

网友评论

登录后评论
0/500
评论
goodchina
+ 关注