discuz 7.2&discuz x<=2 后台注入

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

### 简要描述: 第二发 ### 详细说明: 以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个字节,崩溃了。。 不过再仔细看一下代码,峰回路转,绝处逢生,柳暗花明。...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息