web基础漏洞-验证码爆破

发布时间 2023-10-21 19:50:06作者: 挖洞404

1、介绍

验证码爆破,攻击者可以持续请求验证,从而获取正确验证码。

2、防护

(1)限制验证码有效时间

如果设置相对较长的验证码有效时间,那么攻击者就可以用较低的频率爆破。反之,验证码有效时间相对较短,则对爆破的频率提出高要求,这既考验攻击者的硬件和软件,也考验网络传输和服务端压力。提高爆破难度

(2)较长的验证码长度

6位的验证码相比4位的验证码更难以爆破

(3)提交验证码的次数

如果服务端对于获取过验证码的手机号或邮箱,进行提交验证码次数记录,当达到一定次数,就设置验证码过期,需要重新请求验证码。这是主要的验证码爆破防护手段

(4)验证码覆盖

如果对同一手机号或邮箱,前面请求的验证码仍然有效,那么相当于一个手机号或邮箱可以匹配多个验证码的任意一个即可,大大降低爆破难度

(5)获取验证码频率

(6)验证码未刷新

某些场景中,攻击者短时间重复获取验证码,服务端前后发送一致的验证码。

如果重复请求时刷新上一验证码的测试次数和时间,那么可以低频爆破,然后间隔刷新。

3、测试&绕过

(1)验证码覆盖测试

(2)快速测试

快速爆破22次,如果验证码仍然有效,粗略可以判定验证码次数未做限制

(3)有效时间测试

每隔30秒请求一次,观察响应是否变化

测试30分钟后,正确验证码是否有效。

如果有效,那么可以倍增继续测试。如果无效,则二分法继续测试

(4)大量爆破测试