很多同学肯定都收到阿里云提示discuz memcache+ssrf GETSHELL漏洞的相关说明,但购买阿里云云盾安骑士最少需要支付100块钱,下面小残我就给大家分享下如何来解决Discuz memcache+ssrf GETSHELL漏洞的问题。
该漏洞描述:discuz存在SSRF漏洞,在配置了memcache的情况下,攻击者可以利用ssrf通过memcache中转,向磁盘上写入WEBSHELL恶意代码,从而造成数据库泄漏
漏洞名称:Didcuz memcache+ssrf GETSHELL漏洞
解决方法一:
首先找到这个文件
source/function/function_core.php
搜索代码:
$_G['setting']['output']['preg']['replace'] = str_replace('{CU
然后插入以下代码:
if (preg_match(“(/|#|\+|%).*(/|#|\+|%)e”, $_G[‘setting’][‘output’][‘preg’][‘search’]) !== FALSE) { die(“request error”); }
if (preg_match("(/|#|\+|%).*(/|#|\+|%)e", $_G['setting']['output']['preg']['search']) !== FALSE) { die("request error"); }
然后将修改好的文件保存,上传到服务器目录
source/function/function_core.php
进行覆盖!然后在阿里云后台重新验证,验证时候漏洞提示就会消失!
PS:如果觉得麻烦可以用小残修改好的function_core.php直接替换即可
解决方法二:
停止使用或卸载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
以上就是小残为各位提供的,阿里云提示:“Didcuz memcache+ssrf GETSHELL漏洞”的解决方案!
为了避免出错,所以请您下载当前服务器中的文件下来,进行备份后在进行修改上传复制操作!