web基础漏洞-验证码爆破
1、介绍
这里的验证码是指在注册、登录、找回密码、重要操作验证身份时,服务端向用户的手机或者邮箱发送验证码,用户输入匹配成功以验证身份。
验证码爆破漏洞,是服务端未进行次数和时间限制,或者允许的范围过大。导致攻击者可以反复尝试不同的验证码,以获取到正确的验证码。
2、测试
如果是真实攻击环境,一般会直接以最大线程进行逐个爆破。而渗透测试,实际是测试获取最大允许次数和时间限制,然后进行分析。
两者都需要考虑爆破的请求频率,过低不足以实现爆破,过大会导致客户端或服务端性能不足。
(1)时间限制测试
为了避免出现,从一开始就大尺度爆破请求但实际时间限制完全不足以支持爆破的情况。
一般,会间隔30秒进行一次请求,分析响应是否超时。可以测试到15-30分钟左右,以此获取有效的时间限制。
(2)次数限制测试
根据上一阶段测试结果,设置一定频率的请求,进行测试
3、防护
为了验证码安全,一般会对发送的验证码限定在一定次数和时间内进行登录尝试。