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

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-080870

漏洞标题:qibocms地方门户系统注入(多处类似,demo测试)

相关厂商:齐博CMS

漏洞作者: ′雨。

提交时间:2014-10-29 22:44

修复时间:2015-01-27 22:46

公开时间:2015-01-27 22:46

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-10-29: 细节已通知厂商并且等待厂商处理中
2014-10-30: 厂商已经确认,细节仅向厂商公开
2014-11-02: 细节向第三方安全合作伙伴开放
2014-12-24: 细节向核心白帽子及相关领域专家公开
2015-01-03: 细节向普通白帽子公开
2015-01-13: 细节向实习白帽子公开
2015-01-27: 细节向公众公开

简要描述:

初始化啊 初始化。

详细说明:

很多类似的 随便找个地方把。
首先注册个会员。
在dianping/post.php中

if($action=="postnew")
{
if($webdb[ForbidPostMore]){
if($db->get_one("SELECT * FROM {$_pre}content WHERE uid='$lfjuid' LIMIT 1")){
showerr("系统设置每人只能发布一个商铺!");
}
}
if(!check_rand_num($_POST["$webdb[rand_num_inputname]"])){
showerr("系统随机码失效,请返回,刷新一下页面,再重新输入数据,重新提交!");
}
if(!$postdb[city_id]){
showerr("请选择城市");
}
/*验证码处理*/
if($webdb[Info_GroupPostYzImg]&&in_array($groupdb['gid'],explode(",",$webdb[Info_GroupPostYzImg]))){
if(!$web_admin&&!check_imgnum($yzimg)){
showerr("验证码不符合,发布失败");
}
}
$postdb['list']=$timestamp;
if($iftop){ //推荐置顶
@extract($db->get_one("SELECT COUNT(*) AS NUM FROM `{$_pre}content$_erp` WHERE list>'$timestamp' AND fid='$fid' AND city_id='$postdb[city_id]'"));


让哥来发布个点评。
@extract($db->get_one("SELECT COUNT(*) AS NUM FROM `{$_pre}content$_erp` WHERE list>'$timestamp' AND fid='$fid' AND city_id='$postdb[city_id]'"))
来看看这个语句。 {$_pre}content$_erp 来看看这个文件中的$_erp哪里来的

5.jpg


可以看到 我们的这个语句位于 173行。
而对$_erp 赋值是在187行。 那么相当于我们173行的这个$_erp就没有初始化了。
结合qibocms 伪全局机制 那么我们就可以控制173行的这个$_erp 来达到注入的效果。
dianping/post.php?action=postnew&fid=11&postdb[address]=xx&postdb[city_id]=x&_erp=aaa&iftop=1&yzimg=a1df

6.jpg


构造一下

7.jpg


成功出数据。
___________________________________________________________________________
测试demo。

8.jpg


嗯。

漏洞证明:

7.jpg

修复方案:

把 $_erp=$Fid_db[tableid][$fid]; 放在前面。

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-10-30 09:27

厂商回复:

感谢提出来

最新状态:

暂无