花礼网某处平行权限漏洞(影响所有使用用户)

编号227432
Urlhttp://www.wooyun.org/bug.php?action=view&id=227432
漏洞状态漏洞已经通知厂商但是厂商忽略漏洞
漏洞标题花礼网某处平行权限漏洞(影响所有使用用户)
漏洞类型设计缺陷/逻辑错误
厂商www.hua.com
白帽子Raven
提交日期2016-07-10 19:03:00
公开日期2016-07-11 09:11:00
修复时间(not set)
确认时间0000-00-00 00:00:00
Confirm Spend-1
漏洞标签设计缺陷/边界绕过 逻辑错误 设计不当 认证设计不合理 设计错误 设计缺陷 搞笑有爱
关注数0
收藏数0
白帽评级
白帽自评rank20
厂商评级
厂商评rank0
漏洞简介
自评RANK得给高,厂商才会重视
漏洞细节

#0
这次俩账号做测试都是自己的号啊
账号A ********@foxmail.com (A模拟受害人)

1.png


账号B ******@qq.com (B模拟恶意攻击者)

2.png


#1
首先正常用户A下单,获得一个订单号(我这里都是选的货到付款啊你懂得为什么)

3.png


A订单号:155479115
#2
然后换到账号B(恶意攻击者)这里
账号B也下单获得一个订单号,这里就不写出来了

4.png


B订单号:155416297
#3
接着继续账号B(恶意攻击者)取消自己的订单并抓包获得取消订单的包

GET /ajax/OrderOper.asp?op=cancel&id=155416297 HTTP/1.1
Host: www.hua.com
Accept: */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
DNT: 1
Referer: http://www.hua.com/member/member_record.asp
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8
Cookie: ASPSESSIONIDSQADRADC=FNKGHKFDFCEHNFMNEFAAHNOL; user%5Fexperience%5Fmail=*********%40foxmail%2Ecom; ASP.NET_SessionId=ztxa5iuk3fz4s4vfg3fizr0z; isFrom=bdaH170002; zLTINFO=; zEmarInfo=; Hm_lvt_5f4aa36509ee08b412f4647f6d4f1749=1467698679,1467982426; Hm_lpvt_5f4aa36509ee08b412f4647f6d4f1749=1467982453
Connection: close


5.png


#4
发现没有任何验证,我们就把id参数改为账号A(正常用户)的id

6.png


#5
结果是,取消成功

7.png


#6
总结下,订单号范围不是很大,并且没有任何保护措施,这就给我们提供了非常好的利用环境
差不多这个范围写个脚本有的没得订单都可以取消吧(貌似BurpSuite的暴力美学就可以用在这上面,分分钟取消全部订单!!!),一笔订单少说上百,取消个100笔订单这就上万了呐,我看了下评论上万条起码有的,虽然历史订单没用了,但至少说明你们的花还是挺受欢迎的,以后说不定哪天火了这不就影响超大了嘛!我这分析的可以吧~

POC

以上即是

修复方案

你们懂的

状态信息 2016-07-10: 细节已通知厂商并且等待厂商处理中
2016-07-11: 厂商已经主动忽略漏洞,细节向公众公开
厂商回复感谢反馈,技术部同事仔细检查和测试,反馈代码中一直是有做验证处理的,会员只能自己取消自己的订单。用url更换订单号然后取消成功,是不是因为您那个订单号所在的会员,是处于正常登录状态? 再次感谢您的反馈,因为您们的时间付出和提醒,让我们不断进步。
回应信息危害等级:无影响厂商忽略忽略时间:2016-07-11 09:11
Showing 1-2 of 2 items.
评论内容评论人点赞数评论时间

@深圳市百易信息技术有限公司 额,还有....burpsuite取消的时候刚开始是点了好几下才取消成功,之前一直返回status为-1....

Raven02016-07-11 09:46:00

@深圳市百易信息技术有限公司 并不是你们说的这样的,其实我刚开始测试的时候是一个账号,下单后随便改了其他的订单id取消测试了下,返回status为0,之后注册了另一个账号做测试的。

Raven02016-07-11 09:39:00