Discuz!<=3.4后台基于文件内容的二次注入
前言
即使是后台漏洞,但是漏洞触发原理其实很有趣,二次注入一直关注数据库的插入查询触发,忽视其他可能的隐患点.
漏洞成因
经过addslashes存入文件中,从文件中取出字符,转义符号丢失,造成二次注入

漏洞分析
后台路由形式:?action=xxx => ../admincp_xxx.php

upload/source/admincp/admincp_setting.php
登录后台后,可以修改UC_APPID值,传入参数为$settingnew['uc']['appid']

成功写入恶意UC_APPID后,执行更新读取新的配置信息

upload/uc_client/model/base.php
最后在note_exists方法中触发注入

调用栈如下

漏洞复现
写入sql语句



参考链接
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!