任意用户密码重置的10种常见姿势
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了任意用户密码重置的10种常见姿势相关的知识,希望对你有一定的参考价值。
参考技术A造成原因:找回密码的时候获取的验证码缺少时间限制,只判断了是否正确,未判断验证码是否过期,也就是说验证码的时效性很长(在很长一段时间里不会改变)
测试方法:通过枚举找到真正的验证码输入验证码完成验证
案例:以下案例在点击获取手机验证码后,Response包里直接抓取到了手机验证码。
这种验证码不失效而且验证码是4位数的情况下, 直接爆破 看包的返回长度或者内容来找到正确的验证码。这里返回包是0,代表正确
总结
这种验证码不失效的情况现在已经是非常少见的了,而且验证码的位数也很少有简单的4位验证码了。现在绝大多数是这样的:6位数的验证码而且15分钟内有效,这样子的话爆破的可能性就非常的低了。
在Response(返回包)里直接拿到验证码
案例:
另一个案例:
此案例的用户名是加密的。
其实大部分这种情况我们都不需要知道加密算法,比如这里例子,得到liuyy的加密后的值是80e688602c4b11e66320c421e3b71ef2,那么我们就可以直接利用这个keyCode参数了。
步骤是一样的,输入我们的用户名和收到的验证码,然后把我们的keycode替换为liuyy的那个keycode,这样就可以重置liuyy的密码了。(漏洞原因还是是判断了验证码是否正确,而没有判断该验证码是否跟该用户匹配。)
总结
这种情况没有遇到过,学习了,以后在找回密码的时候会这么测试的。现在看来对于白帽子来说有 2 个手机号是多么的方便了。
案例二中如何获取到其他用户的keyCode呢?这里的话正常走一遍找回密码的流程,然后抓包就会在数据包中找到加密后的keyCode了,这样就可以重置任意用户的密码了。
案例:
点击找回密码,首先我们输入zhangwei(我们不知道zhangwei的手机号码),然后点击获取验证码,这个时候把手机号改为我们自己的号码,输入我们自己的号码和验证码,成功跳到重置密码的页面,密码重置成功。
案例:
这里我们所做的就是把0修改为1,可以借工具修改返回包,我们把0改为1,Forward防包,然后查看页面,成功跳转到修改密码的页面,输入新密码即可修改用户13888888888的密码
总结
who_jeff曾经分享给过这样一个类似的案例,他是在一个安卓app上进行抓包测试的,当时就直接修改返回包 来欺骗本地的app客户端的,成功重置任意用户的密码。
案例:
总结
这个漏洞不用按照正常的流程来走,这里的话直接补齐设置新密码的链接,然后利用这里链接可以直接重置任意用户的密码。
案例:
总结
这里的话关键是在最后一步重置密码的时候替换目标手机号,这种其实也是比较暴力的,拿到这个链接的话 可以无条件批量重置任意用户的密码,这里面利用burp可以批量枚举手机号码的mphone参数。
案例:
总结
这种也比较暴力流氓,可以通过枚举id的值 ,来大批量重置任意用户密码的漏洞,因为不需要用户名了,只需要知道id值即可,危害比较大。
案例:
总结
关键点: cookie 可指定用户获取, 尝试用他人账号来找回密码的时候,抓取数据包,可以从中提取出 cookie 值,然后就可以利用这个 cookie 值,就可以重置指定用户的密码了。
案例:
总结
最后一种要稍微复杂一点,得去找到隐藏参数:loginId 然后再修改数据包,以后挖洞的时候,多留意这些。
任意用户密码重置
密码找回的逻辑
密码找回逻辑含有用户标识(用户名、用户 ID、cookie)、接收端(手机、邮箱)、凭证(验证码、token),之间需要有完整关联性。还有http参数污染
例如:
1.输入要找回的账号,并验证其是否存在
2.相关的接收端接收相关的账号的相关的凭证
3.找回密码
漏洞的凭证泄露
学习链接:
https://www.freebuf.com/articles/web/160883.html
漏洞的凭证出现在返回包中,这样我们可以通过注册爆破用户名,如果是邮箱的话,可以whois查询管理员的邮箱后缀从而爆破。
重置凭证接收端可篡改
学习链接:
https://www.freebuf.com/articles/database/161495.html
修改接收端为自己的接受端或者修改与接受端相关的参数,这样就可以重置
用户混淆
学习链接:
https://www.freebuf.com/articles/web/162152.html
用于的标识一个一个的试一试看能否改变,从而篡改。
重置凭证未校验
学习链接:
https://www.freebuf.com/articles/web/164090.html
密码的重置凭证可以爆破
学习链接:
https://www.freebuf.com/articles/web/164510.html
应答中存在影响后续逻辑的状态参数
学习链接:
https://www.freebuf.com/articles/web/166667.html
以上是关于任意用户密码重置的10种常见姿势的主要内容,如果未能解决你的问题,请参考以下文章