心灵咖啡

 找回密码
 注册加入
查看: 1191|回复: 0
收起左侧

[dz经验分享] 阿里云提示 Didcuz memcache+ssrf GETSHELL漏洞 修复方法

[复制链接]
发表于 2017-3-26 19:36:42 | 显示全部楼层 |阅读模式
漏洞名称:Discuz memcache+ssrf GETSHELL漏洞
补丁编号:10119187
补丁文件:source/function/function_core.php
补丁来源:云盾自研
漏洞描述:
Discuz存在SSRF漏洞,在配置了memcache的情况下,攻击者可以利用ssrf通过memcache中转,向磁盘上写入WEBSHELL恶意代码,从而造成数据库泄漏。任何的外部输入,包括memcache缓存都应该认为不可信,建议在任何从外部输入的数据都进行必要的转义和过滤,可禁用preg_replace /e代码执行。【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了改漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】






方法一:


找到文件
source/function/function_core.php


搜索:

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





在这行代码前加入


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




方法二:停止使用或卸载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目录及文件(这是使用wdlinux面板的举例)
rm -rf /www/wdlinux/memcached
rm -rf /www/wdlinux/init.d/memcached

4、关闭memcached开机启动
chkconfig memcached off

5、把memcached移出开机启动
chkconfig --del memcached













——论坛程序问题,请给 qq124627513(微信同步)留言。(系统默认签名,点击修改
您需要登录后才可以回帖 登录 | 注册加入

本版积分规则

广告
广告位
广告位
广告位
关闭

站长推荐上一条 /1 下一条

QQ|联系我们|手机版|小黑屋|Archiver|心灵咖啡 ( 粤ICP备16121829号-1 )

GMT+8, 2024-4-19 01:33 , Processed in 0.130911 second(s), 24 queries .

Powered by Discuz! and 心灵文学

Copyright © 2001-2021, Tencent Cloud.


本站文章为原创会员所有,未经许可禁止去版权转载,但欢迎分享本站文章链接!另,若有抄袭侵权,联系即删禁。
快速回复 返回顶部 返回列表