问题出在住哪网旗下的[快乐租],两个网站应该共用了数据库,但是快乐租却有一套自己独立的注册、登录、密码重置逻辑!
1)来到快乐租的密码重置功能处,发现可以通过email、手机两种方式找回密码;
2)选择使用手机重置用户密码,输入手机号码系统会发送一个6位数字验证码却没有设置过期时间,任意输入一个6位数字点击提交并抓包;
3)设置[checktel]为爆破参数进行暴力破解,这里仅做 漏洞 利用演示,用自己手机号码,设置爆破区间为包含真实验证码的一个较小6位数字区间;
4)我们可根据 系统 response字节长度确定真正的验证码;
5)使用爆破到的真实验证码替换[checktel]参数值即可来到密码重置页面;
6)设置我们需要重置的密码即可登录该用户帐号;
7)因为看到系统提示[住哪网用户可直接登录],于是乎我猥琐的想到,那快乐租的用户是不是也能直接登录住哪网呢,那修改快乐租的用户密码不就等于修改了住哪网的用户密码么......好吧,试试不就知道了么;使用该手机号码和刚刚修改的密码成功登录住哪网!!!
8)另外,使用邮箱重置用户密码时会泄露用户的手机号码,有了手机号码我们又能利用上诉方式重置用户密码,恶性循环哟;
9)快乐租这里的手机重置密码的验证码不会过期(如不重新获取新的验证码),可反复使用重该用户密码置密码,如果用户习惯邮箱重置密码的话,该处缺陷可实现对用户帐号进行长久劫持;
PS:这个问题相当于影响了两个网站[住哪网]和[快乐租],希望你们好好评估下!最后,求个新年礼物!!
修复方案: 增加验证码的复杂性;
限制验证码校验错误次数;
合理设置验证码有效期;
查看更多关于猥琐的再次重置住哪网任意用户密码 - 网站安全的详细内容...