原文:
https://hackerone.com/reports/703972
废话不多说,直接开始复现:
第一步:输入邮箱地址,重置密码

然后点击提交,

这里的验证码是有限制的。
第二步:
输入正确的验证码后,就到达了第三步

这里的验证码没有限制,就可以跑起来重置密码了。
作者还给了个视频演示:
https://reurl.cc/E2azGa
作者同时还对这个漏洞画了个图来解释:


译者按:
我们想一下这个漏洞的问题出在哪,首先第二步是肯定不能跳过的,第三步不应该继续用验证码,应该用第二步返回来的token。我们再想一下,如果修该怎么修,第一种方法,第三步验证码加频率限制,第二种方法,删除第三步验证码,从第二部返回token,用这个token作为第三步的验证。还有一点像这种验证码爆破的,最好附一个成功案例,这样更容易说服厂商。
本文迁移自知识星球“火线Zone”