Discuz! X3.4 后台SQL注入

Discuz!被爆出后台存在SQL注入漏洞,影响 Discuz! X系列全版本。


source\admincp\admincp_setting.php 在处理请求参数时,未完全转义过滤请求参数,导致存在二次注入。
upload\uc_client\model\base.php
初始化方法调用,跟进init_note方法。

跟进 note_exists 方法:

这里的 .UC_DBTABLEPRE. 和 .UC_APPID. 都是从配置文件读取的。
查找UC_APPID

upload\source\admincp\admincp_setting.php
传入参数数组。

被注入过的./config/config_ucenter.php 文件

可以看到只是把单引号用反斜杠转义保存了。
转义一次的字符串被写人文件中,在PHP解析时就是没有转义过的原始内容 造成了二次注入的产生。

测试demo:

<?php
define('UC_APPID', 'sadsadsadasd\'');
printf(UC_APPID);

也就是 UC_APPID 的值被从文件取出来后,php默认会把他的反斜杠去掉了。
也就是UC_APPID的值被还原成 1′ and extractvalue(1,concat(0x7c,(select @@version))) — 1′

攻击者在登录Discuz!管理员后台后,可用此漏洞来进行SQL注入,获取数据库里的敏感信息。

【参考链接】
https://mp.weixin.qq.com/s/0PaVA9tzOxBFQVZ0EBVc9A

Leave a Reply

Your email address will not be published. Required fields are marked *