漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0165235
漏洞标题:中华英才网新姿势任意密码重置
相关厂商:中华英才网
漏洞作者: inforsec
提交时间:2015-12-28 12:07
修复时间:2016-01-04 16:37
公开时间:2016-01-04 16:37
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:厂商已经修复
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-12-28: 细节已通知厂商并且等待厂商处理中
2015-12-28: 厂商已经确认,细节仅向厂商公开
2016-01-04: 厂商已经修复漏洞并主动公开,细节向公众公开
简要描述:
之前白帽子提交过中华英才的通过任意密码重置wooyun-2015-0117458,因为验证码位数短并且未做次数限制。厂商很快做了修复,这点比较赞,可是今天发现了另一个姿势可以重置,希望厂商能够真的重新调整下整个密码重置体系了。
详细说明:
1、正常密码找回流程:
用手机号码注册自己的账号,成功后,点击忘记密码:
http://passport.chinahr.com/pc/findPwd
输入自己的手机号码,和验证码,点击『找回密码』:
这时候进入第二步,手机收到了手机验证码,我们输入验证码:
点击『重置密码』,就可以成功进入了第三步,可以输入新密码:
我们输入想要修改的密码,点击确定,这样我们整个正常密码重置过程就完成了:
2、任意密码重置
上面是正常的流程,关键在于第二步输入手机验证码,若是这一步绕过去就可以任意密码重置了。前面白帽子提了暴力破解,厂商通过次数限制进行了修复,这里我们就不测试了。
这里用到的方法就是修改返回值进行绕过,我们抓包看看当时第二步的请求和响应:
返回值这个部分是个关键点,我们现在重新拿账号进行测试,同样进行到第二步,并使用错误的验证码,这时的返回值是这样的:
两个进行对比我们发现,正常的返回值应该是对重置的手机进行了加密,前端再进行解密比较。因此每个手机号码所对应的正常返回值不一样。不过好在我们能够在第一步请求成功后抓到这个加密值:
那么我们只要做返回值替换,就可非常轻松绕过第二步。
漏洞证明:
我们以土豪号做演示:13888888888
第一步输入土豪号以及图片验证码,进入下一步,这时抓包获取前面提到的加密串:
点击下一步,抓包利用刚才获取的加密串,修改返回头,随意输入4位验证码,点击『重置密码』,成功进入第三步,这时我们修改密码成123456,点击确定,然后就进入了土豪号的账户:
土豪的详细信息,还有多个手机号:
估计也是深受大家的骚扰,不得不这样,王女士,我对不起你,请你原谅!
修复方案:
1、密码重置过程,要在服户端做校验,并且增加对号码与验证码的双重校验。
2、验证码的长度最好还是要增加到6位
版权声明:转载请注明来源 inforsec@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2015-12-28 14:00
厂商回复:
非常感谢,我们会尽快修复此漏洞
最新状态:
2016-01-04:漏洞已修复,感谢您的帮助