Discuz memcache+ssrf GETSHELL漏洞

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


修改文件:/source/function/function_core.php

function output_replace(){ #这个方法内
...

#增加判断
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);
...
}

增加判断禁用preg_replace 代码执行还可以用过滤的方法进行滤。

或者禁用memcache

Tags php

留言(0)

评论