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

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

缺陷编号:wooyun-2015-0100140

漏洞标题:doyocms平行权限问题之泄露订单

相关厂商:wdoyo.com

漏洞作者: linadmin

提交时间:2015-03-10 10:43

修复时间:2015-06-08 10:46

公开时间:2015-06-08 10:46

漏洞类型:非授权访问/权限绕过

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

doyocms平行权限问题之泄露订单

详细说明:

订单越权查看漏洞
出现问题的代码位于source/member.php处
function myorder(){
if($this->syArgs('oid')||$this->syArgs('orderid',1)!=''){
if($this->syArgs('oid')){$r=array('id'=>$this->syArgs('oid'));}else{$r=array('orderid'=>$this->syArgs('orderid',1));}
$this->order=syDB('order')->find($r);
if($this->order['state']>0&&$this->order['virtual']==1)$this->virtuals=syDB('product_virtual')->findAll(array('oid'=>$this->order['id'],'state'=>1));
$this->goods=order_goods(unserialize($this->order['goods']),$this->order['logistics']);
$this->info=unserialize($this->order['info']);
$this->sendgoods=unserialize($this->order['sendgoods']);
$total=0;
foreach($this->goods[0] as $v){
$total=calculate($total,$v['total']);
$total=calculate($total,$v['logistics_price']);
}
$this->aggregate=calculate($total, $this->order['favorable'],2);
$this->display("member/myorderinfo.html");
}else{
$c=syClass('c_order');
$total_page=total_page($GLOBALS['G_DY']['db']['prefix'].'order where uid='.$this->my['id']);
$this->lists=$c->syPager($this->syArgs('page',0,1),10,$total_page)->findAll(array('uid'=>$this->my['id']),' addtime desc ');
$c_page=$c->syPager()->getPager();
$this->pages=pagetxt($c_page,$GLOBALS['G_DY']['url']["url_path_base"].'?c=member&a=myorder');
$this->display("member/myorder.html");
}
}

1.png


这段代码用于查看用户的订单信息
254,255,256行是关键点
但是用于查询订单信息的条件却过于简单,直接导致通过修改URL参数查看其它用户的订单信息。
验证,我注册两个用户sss 和zzz 使用系统管理员给两人注入一些钱(模拟用户)各买东西形成订单

2.png


3.png


在zzz用户页面修改oid可以看到

4.png


他果然看到了sss购买的商品以及下面的订货信息

5.png

漏洞证明:

我注册两个用户sss 和zzz 使用系统管理员给两人注入一些钱(模拟用户)各买东西形成订单

2.png


3.png


在zzz用户页面修改oid可以看到

4.png


他果然看到了sss购买的商品以及下面的订货信息

5.png

修复方案:

增加对uid参数的验证

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:1

确认时间:2015-03-10 10:45

厂商回复:

感谢反馈

最新状态:

暂无