很多同学肯定都收到阿里云提示的Discuz memcache+ssrf GETSHELL漏洞的相关说明,阿里不断提醒就是为了想推广他们的什么云盾安骑士。那么,除了使用云盾安骑士之外,还有什么方法可以修复这个漏洞呢?下面就给大家讲述两种解决方法。
漏洞名称:Discuz memcache+ssrf GETSHELL漏洞
漏洞类型:Web-CMS漏洞
漏洞描述:Discuz存在SSRF漏洞,在配置了memcache的情况下,攻击者可以利用ssrf通过memcache中转,向磁盘上写入WEBSHELL恶意代码,从而造成数据库泄漏。任何的外部输入,包括memcache缓存都应该认为不可信,建议在任何从外部输入的数据都进行必要的转义和过滤,可禁用preg_replace /e代码执行。
解决方法一
打开/source/function/function_core.php
搜索如下代码:(大概在文件的1089行左右)
$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。
停止使用memcache
登录discuz管理后台-全局-性能优化-内存优化,查看网站支不支持memcache,以及有没有开启,假如开启的话就关闭。
卸载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
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !