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

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

缺陷编号:wooyun-2015-0157507

漏洞标题:亲宝宝Android客户端任意账户密码重置

相关厂商:http://www.qbb6.com/

漏洞作者: 路人甲

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

修复时间:2016-01-16 10:04

公开时间:2016-01-16 10:04

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

危害等级:高

自评Rank:20

漏洞状态:未联系到厂商或者厂商积极忽略

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-12-02: 积极联系厂商并且等待厂商认领中,细节不对外公开
2016-01-16: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

媳妇推荐我用这个APP,于是顺手改了她的密码。。。

详细说明:

在用手机注册的时候,发现验证码是4位的,感觉有被暴力猜解的可能,于是测试一下,结果却发现验证码在发送请求的时候被直接返回了。这样,即使用一个实际不存在的手机号也可以注册,如13512345678。

001--任意注册.png


验证码 code:6390被直接返回了

002--看到了code.png


输入验证码,进到这里。提示已注册过了,可以登录或者继续注册一个(如果选择这一项,原来的内容就废了,失去了和手机号的关联)。登陆进去发现,这应该是一个测试人员的账号,囧

003--发现已注册.png


同样的方式,换一个没被注册过的号码试试,可以注册成功。

005--换一个号码试试注册.png


并且找回密码也是一样,可以直接根据返回的code重置密码。

006-1-找回密码.png


实际上,输入验证码后是会再次到服务器验证的。所以在请求时直接返回了验证码应该是个bug,但是影响很大。

006-2.png


如图,在对code进行des加密后,会再次到服务器上验证。

006-3.jpg


发送到服务器的数据包会进行自签名(计算值sign),如果用burp简单的修改手机号码后就进行重发就会报500

007-1做了sign.png


但是这个算法是可以被模拟的,也不是绝对的安全。

009-2.png


009-3.png


用一个类似的算法就可以计算sign。

009.png


漏洞证明:

可以随意申请账号,也可以重置任意账号密码。

修复方案:

1. 千万不要在请求手机验证码时直接把验证码通过web返回
2. 最好使用6位验证码
3. IOS端如果是类似逻辑需要一并修改

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


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:15 (WooYun评价)