任意用户密码重置
0. 短信验证码爆破
· 有些短信验证码长度过短(一般为4位纯数字),并且没有输入错误次数的限制,导致可以通过该缺陷对短信验证码进行暴力枚举,对用户密码进行重置。
1. 修改手机号码
· 在发送验证码的时候通过抓包修改手机号,使用另外一个手机号去接收短信验证码,系统没有对此进行检查,就可以通过另一个手机号去重置该网站用户手机号的密码。
2. 修改响应包状态码
· 该问题出现的原因是单一的前端校验,也就是在进行密码重置的过程中只是通过服务器端判断生成的状态码去作为每一步的判断依据,后端没有对判断结果进行记录,导致可以修改服务端响应的状态码跳过验证步骤进行重置。
3. 找回凭证泄漏
· 该问题指的是找回密码的凭证(短信验证码、key)泄漏导致可见,例如短信验证码泄漏到了响应包中,或者与用户绑定的令牌泄漏到了前端,导致可以通过该凭证进行用户密码重置。
【案例】在一次挖掘当中,通过修改响应包状态码可以成功跳到最后一步,但是在输入新密码重置的时候却不能成功,于是对每一个数据包进行了检查,最后发现在最后一步进行重置的时候会对数据包当中的key参数进行检查,key是一段32位的随机字符串,如果key不正确就会重置失败,但是发现key泄漏到了第一步的响应包当中,导致可以重置成功。
标签:SRC,短信,重置,验证码,用户,密码,key From: https://www.cnblogs.com/FFSec/p/17759370.html