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

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

缺陷编号: WooYun-2014-70353

漏洞标题: qibocms多个系统绕过补丁继续注入2

相关厂商: 齐博CMS

漏洞作者: ′雨。认证白帽子

提交时间: 2014-07-31 17:04

公开时间: 2014-10-29 17:06

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 无

1人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-07-31: 细节已通知厂商并且等待厂商处理中
2014-08-01: 厂商已经确认,细节仅向厂商公开
2014-08-04: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-09-25: 细节向核心白帽子及相关领域专家公开
2014-10-05: 细节向普通白帽子公开
2014-10-15: 细节向实习白帽子公开
2014-10-29: 细节向公众公开

简要描述:

之前发了补丁被绕过了, 现在又发布了补丁。
今天上午的时候看了看补丁。 第一眼觉得很牛逼。
然后觉得这补丁很吊,就放下了。
下午的时候又继续看了看补丁 原来还是可以绕过。

依旧是通杀多个系统。

由于是通用的函数, 所以能造成注入的点不止一处。

用v7整站系统 再随便找一个点来说就行啦。

详细说明:

再来看看一下 qibocms的全局过滤函数

code 区域
$_POST=Add_S($_POST);
$_GET=Add_S($_GET);
$_COOKIE=Add_S($_COOKIE);





code 区域
function Add_S($array){
foreach($array as $key=>$value){
if(!is_array($value)){
@eregi("['\\\"&]+",$key) && die('ERROR KEY!');
$value=str_replace("&#x","& # x",$value); //过滤一些不安全字符
$value=preg_replace("/eval/i","eva l",$value); //过滤不安全函数
!get_magic_quotes_gpc() && $value=addslashes($value);
$array[$key]=$value;
}else{
$array[$key]=Add_S($array[$key]);
}
}
return $array;
}



这里把数组中的value addslashes 转义了

但是没有对key addslashes (这里应该也不能做addslashes 因为会像上次那样绕过)



可以看到是把过滤key的代码换了 之前是replace 可以绕过

现在是 @eregi("['\\\"&]+",$key) && die('ERROR KEY!');

我擦, 看起来很叼的样子。 匹配到' 或者 " 或者\ 就直接退出。

当我第一眼看到的时候 觉得很叼 就放下了qibo。 睡觉去了。

________________________________________________________________________



到了下午 精神倍棒



依旧 我们自己来写一个文件测试一下



再调用一下qibo的这函数



code 区域
<?php  
$_GET=Add_S($_GET[a]);

function Add_S($array){
foreach($array as $key=>$value){
if(!is_array($value)){
@eregi("['\\\"&]+",$key) && die('ERROR KEY!');
$value=str_replace("&#x","& # x",$value); //过滤一些不安全字符
$value=preg_replace("/eval/i","eva l",$value); //过滤不安全函数
!get_magic_quotes_gpc() && $value=addslashes($value);
$array[$key]=$value;
}else{
$array[$key]=Add_S($array[$key]);
}
}
return $array;
}





30.jpg



碉堡 key中的单引号被匹配到了 被退出了



但是换一种方式呢 这里我输出一下$key

31.jpg



可以看到提交**.**.**.**/yu.php?a[a'][asd]=a 的时候 那么进入过滤函数的时候的key是asd



那么就不会被匹配到 就不会被过滤了。

那么我们不就是绕过了这个过滤了?



___________________________________________________________________________



绕过了这个随便找个点来说



在member/post.php中



code 区域
elseif($job=='manage')
{
if(!$atc_power)showerr("你没权限");
if($rsdb[pages]<2){
header("location:post.php?job=edit&aid=$aid&mid=$mid&only=$only");exit;
}
$erp=get_id_table($aid);
if($step==2){
asort($orderDB);
$i=0;
foreach( $orderDB AS $key=>$value){
$i++;
$db->query("UPDATE {$pre}reply$erp SET orderid=$i WHERE aid='$aid' AND rid='$key'");
}
refreshto("$FROMURL","排序成功",1);
}





foreach 出来的key没有过滤 直接带入到了查询当中



32.jpg





直接提交key被匹配出 像刚才那样绕过一下



33.jpg





这样进行检测的key 是asd 但是 带入查询的 而是那段含单引号的key。



造成了注入。



漏洞证明:

33.jpg

修复方案:

这个我真心也不知道怎么过滤了。。

还是看你们把。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-08-01 10:20

厂商回复:

感谢提出来

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2014-07-31 17:06 | 贫道来自河北 ( 普通白帽子 | Rank:1469 漏洞数:439 | 一个立志要把乌云集市变成零食店的男人)
    2

    雨神 求你放过齐伯吧,他老人家年纪大了,经不起你天天折腾

  2. 2014-07-31 17:07 | felixk3y ( 普通白帽子 | Rank:523 漏洞数:41 | php python jsp)
    0

    我感觉你看代码,从未间断...

  3. 2014-07-31 17:13 | ′ 雨。 认证白帽子 ( 普通白帽子 | Rank:1332 漏洞数:198 | Only Code Never Lie To Me.)
    0

    @贫道来自河北 @felixk3y 放假了 哈哈 时间挺多。

  4. 2014-07-31 17:15 | roker ( 普通白帽子 | Rank:372 漏洞数:109 )
    0

    能不能 不要这么叼

  5. 2014-07-31 17:17 | 寂寞的瘦子 ( 普通白帽子 | Rank:242 漏洞数:53 | ☯☯☯☯☯☯☯☯☯☯)
    0

    这都绕了多少次了,程序员在干嘛呢。。

  6. 2014-07-31 17:19 | 果冻好吃 ( 路人 | Rank:22 漏洞数:11 | 大学通知书下来那天,我迫不及待的用四百块...)
    0

    齐博会把你收了!

  7. 2014-07-31 17:30 | xsser 认证白帽子 ( 普通白帽子 | Rank:297 漏洞数:22 | 当我又回首一切,这个世界会好吗?)
    0

    ......

  8. 2014-07-31 17:46 | 铁汉 ( 路人 | Rank:12 漏洞数:6 | 向各种大神学习之)
    0

    齐伯没有女儿,你要搅基吗

  9. 2014-07-31 18:06 | xfkxfk 认证白帽子 ( 核心白帽子 | Rank:2299 漏洞数:351 | 呵呵!)
    0

    不会是同一个问题吧?!改来改去没改到正道上。。。

  10. 2014-07-31 18:38 | ′ 雨。 认证白帽子 ( 普通白帽子 | Rank:1332 漏洞数:198 | Only Code Never Lie To Me.)
    0

    @xfkxfk 这两次的补丁改的还是挺有进步。

  11. 2014-07-31 22:01 | Power ( 实习白帽子 | Rank:78 漏洞数:26 )
    0

    苦逼的厂商

登录后才能发表评论,请先 登录