漏洞介绍:
该漏洞存在discuz ml(多国语言版)中,cookie中的language可控并且没有严格过滤,导致可以远程代码执行。
利用的vulnfocus 的环境。
漏洞分析:
漏洞出现在 /upload/source/module/portal/portal_index.php
include_once 对template()函数的返回对象进行了包含,如果包含的内容可控的话,就会存在命令执行。
跟进 template
这里返回的是 DISCUZ_ROOT . $cachefile ;
发现该函数返回了一个缓存文件,跟进缓存文件。
这个缓存的文件名$cachefile是由 discuz_lang 拼接而成的
$cachefile = './data/template/'.DISCUZ_LANG.'_'.(defined('STYLEID') ? S