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

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

缺陷编号:wooyun-2014-070977

漏洞标题:Doyo建站系统验证缺陷(可遍历订单)

相关厂商:Doyo

漏洞作者: 贫道来自河北

提交时间:2014-08-04 17:43

修复时间:2014-11-02 17:44

公开时间:2014-11-02 17:44

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:10

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

一个比较有点危害不可以小看的问题。

详细说明:

由于官方的DEMO无法生产订单,只能本地搭建来测试了
首先来看一下关键的代码
function pay(){
$oid=$this->syArgs('id',1);
$pid=$this->syArgs('payment',1);
if($oid=='')message("请指定订单号");
if($pid=='')message("请选择支付平台");
$order=$this->c->find(array('id'=>$oid));
if(!$order)message("订单不存在或已被删除");
if($order['state']!=0){jump('?c=member&a=myorder&oid='.$order['id']);}
$subject='订单号:'.$order['orderid'];
这就是存在缺陷的核心代码,我就不多说了,相信大家都看的懂。

漏洞证明:

我是本地搭建的

QQ图片20140804152748.jpg


首先可以注册两个账号
账号1:aizai2010
账号2:aizai2011
首先登陆账号1,下一订单

QQ图片20140804153401.jpg


QQ图片20140804153434.jpg


http://127.0.0.1:8888/index.php?c=pay&a=order&oid=103 后面的oid的参数是关键
登陆账号2,下一个订单

QQ图片20140804153434.jpg


QQ图片20140804154052.jpg


http://127.0.0.1:8888/index.php?c=pay&a=order&oid=104
然后最关键的一部,我们来吧账号2订单的oid参数改为103

QQ图片20140804154052.jpg


QQ图片20140804154319.jpg


看到没有已经成功查看到账号1的订单数据,而且登陆的账号还是账号2.
还有,我想说一下这个被忽略的漏洞
http://www.wooyun.org/bugs/wooyun-2014-070843/trace/e01b64512338155e41a488609a055d1a
虽然官方DEMO测试不成功,但是从官网上下载的源码搭建起来的环境切实存在该漏洞。

修复方案:

官方会修的

版权声明:转载请注明来源 贫道来自河北@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:11

确认时间:2014-08-09 09:42

厂商回复:

最新状态:

暂无