pikachu漏洞靶机之暴力破解漏洞(绕过验证码on client)

**

on client

**
验证码机制:
pikachu漏洞靶机之暴力破解漏洞(绕过验证码on client)_第1张图片进入网页我们查看一下页面源码:
pikachu漏洞靶机之暴力破解漏洞(绕过验证码on client)_第2张图片pikachu漏洞靶机之暴力破解漏洞(绕过验证码on client)_第3张图片
我们可以看到验证码的验证机制是在客户端用js代码进行验证的。
我们在burp中进行验证,我们如果不输入验证码或者我们输入一个错误的验证码,我们查看一下返回信息,我们发现服务器返回的信息并没有关于验证码的信息,也就是说服务器没有对验证码进行处理,这就是基于客户端的验证码识别。
pikachu漏洞靶机之暴力破解漏洞(绕过验证码on client)_第4张图片
剩下的我们就可以进行正常的暴力破解。(忽略验证码的检验),我们的服务器在向客户端传送验证码的过程中,最好使用图片的形式进行传送,而不是以文本的方式进行传送,如果我们把验证码以文本的形式放入到cookie ,可能会被窃取到。

**

on server

**

不安全的验证码-on server常见问题
验证码在后台不过期,导致可以长期被使用;
验证码校验不严格,逻辑出现问题;
验证码设计的太过简单和有规律,容易被猜解
实战:
我们进行抓包、放包,查看返回的信息。我们可以看到返回信息是以乱码的形式返回过来的。这是为什么?我们在pikachu上如果输入不正确的验证码,或者空的验证码他会提醒我们验证码不正确、或者验证码不能为空,那么我们可以猜测,乱码的内容就是以上的返回信息,只不过因为返会信息是汉字,所以出现了乱码。但是 还是可以证明,服务器对验证码进行检验。
pikachu漏洞靶机之暴力破解漏洞(绕过验证码on client)_第5张图片我们如何判断验证码是否过期?
在以上操作的基础上,我们刷新一下页面得到一个新的验证码,我们带着验证码和第一次的账号密码发包,然后在修改一下账号或者密码,如果两次发包页面都返回账号不存在,那么说明验证码没有过期。
我们先用一个账号登陆:
pikachu漏洞靶机之暴力破解漏洞(绕过验证码on client)_第6张图片然后我们在换一个账号登陆:

pikachu漏洞靶机之暴力破解漏洞(绕过验证码on client)_第7张图片我们发现两次登陆,都是给我们返回账号、密码不正确,说明验证码没有过期。
防暴力破解的措施总结
设计安全的验证码(安全的流程+复杂而又可用的图形);
对认证错误的提交进行计数并给出限制,比如连续5次密码错误,锁定2小时;
必要的情况下,使用双因素认证;

你可能感兴趣的:(pikachu)