### 0x01漏洞简介
Discuz X3.2的milu_seotool插件存在本地文件包涵漏洞。
![](https://images.seebug.org/contribute/8c1b3c8c-1d06-4ec6-a66e-deaa078b4c24-1.jpg)
看见木有有个微信登陆功能,漏洞也出现在这里。无截断所以不鸡肋。
### 0x02漏洞分析
接下来看代码,文件在source\plugin\wechat\wechat.class.php:
```
static public function redirect($type) {
global $_G;
$hook = unserialize($_G['setting']['wechatredirect']);
if (!$hook || !in_array($hook['plugin'], $_G['setting']['plugins']['available'])) {
return;
}
include_once DISCUZ_ROOT . 'source/plugin/' . $hook['plugin'] . '/' . $hook['include'];
if (!class_exists($hook['class'], false)) {
return;
}
$class = new $hook['class'];
if (!method_exists($class, $hook['method'])) {
return;
}
$return = $class->$hook['method']($type);
if($return) {
return $return;
}
}
```
对discuz有了解的人都知道它的$_G这个变量,他的$hook怎么来的我就不多说了,if判断了$hook['plugin'] 所以$hook['plugin']必须是'wechat','pcmgr_url_safeguard','mobile'其中一个
至于$hook['include']嘛 你懂得~~~~,unserialize($_G['setting']['wechatredirect'])反序列化,所以我们就要填入序列化的值:
![](https://images.seebug.org/contribute/c7201724-215a-4a8b-bcca-29d0d36cef3e-2.jpg)
### 0x03漏洞证明
![](https://images.seebug.org/contribute/dd5c3c5a-f3e1-4a07-9706-de5ce7c310a2-3.jpg)
### 0x04修复方案
$hook['include']代入时,需要进行检查。
暂无评论