漏洞概要 关注数(24) 关注此漏洞
>
漏洞详情
披露状态:
2012-11-11: 细节已通知厂商并且等待厂商处理中
2012-11-11: 厂商已经确认,细节仅向厂商公开
2012-11-21: 细节向核心白帽子及相关领域专家公开
2012-12-01: 细节向普通白帽子公开
2012-12-11: 细节向实习白帽子公开
2012-12-26: 细节向公众公开
简要描述:
屌丝继续逆袭,想知道女神都去哪里旅行么?
详细说明:
1.打开浏览器,进入网站http://www.trip8080.com/,找到【登录】按钮进入登录页面,看到灰色的【忘记密码?】链接没有,点它:
2.进入密码重置流程,选择【通过已验证手机号码找回】:
3.输入手机号码,点击【获取短信校验码】
4.这里由于是测试,我使用了自己的手机号码,收到了6为纯数字的短信码(为了与图片验证码区别,这里成为短信码)是【101557】,这里随意的填写了一个短信码123456,点击【提交】之前设置好浏览器的代理为burpsuite!
漏洞证明:
5.代理工具抓包如下:
很容易判断出参数mobile为手机号码,validcode参数为短信码!
6.那么,我开始对validcode参数进行暴力破解了!操上burpsuite,设置好需要爆破的参数:
由于只是测试,我从100000开始,一个需要发送请求2001次:
设置并发线程数为20:
7.通过返回的字节数或者返回的内容得出正确的短信码:
短信码错误时,返回的字节数为251,而短信码正确时字节数为196;
当然也可从返回的内容来判断是否获取正确的短信码,短信码错误时返回内容包含"输入的短信校验码不正确,请重新输入"的字样,短信码正确时返回内容包含“true”并跳转到重置成功的页面!
8.你知道么,我只花了2、3秒钟,即成功爆破完成,使用爆破到的短信码进行验证:
9.好的,进入密码重置阶段,输入新密码吧!
10.屌丝成功逆袭,女神我来了!
修复方案:
1.上面的情况同一短信码被使用了两次,一般情况下短信码应设置为1次使用立即失效,防止他人无需走重置密码的流程即可对短信码爆破,当然不排除短信码泄露导致账号被窃取!
2.6位纯数字短信码的爆破,即平均50万次的请求,我使用了burpsuite测试单台机器100线程,8分多钟即可重置任意一个手机账号!危险啊
3.短信码可以为6位纯数字,甚至可以缩短为4为纯数字;可以不设置图片验证码,甚至可以不用设置短信码的有效期。但是为什么不设置连续5次尝试失败就锁定本次密码重置的请求呢?
4.求20rank,求礼物!
版权声明:转载请注明来源 风萧萧@乌云
>
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2012-11-11 22:02
厂商回复:
非常感谢,请留下联系方式。
最新状态:
暂无