验证码绕过
一、on client
---验证码使用前端代码验证
---验证码存在cookie中被泄露
---前端源代码泄露
输入错误的验证码,前端提示验证码输入错误,猜测验证码由前端代码验证
bp抓包发现没有POST请求的包,输入正确的验证码,提示用户名或密码错误
bp抓到POST请求的包,发到repeater模块,将验证码修改看看返回的包
提示username or password is not exist,说明只要绕过前端直接给后端发送数据包即可爆破,开始攻击
二、on server
---验证码在后台不过期
---验证码校验不严格,逻辑有问题
---验证码的设计太过于简单
验证码是nyw2o1
同样bp抓包分析:
验证码错误时,返回包提示验证码错误,这时候可以判断验证码是在后端服务器上验证的
把验证码改成正确的试几次发现一直都是返回username or password is not exist判断验证码不会过期,加入字典开始爆破
爆破完成
三、token
还是先抓包,发现比之前的多了一个token值
在相应的包里也有一个token,并且是不一样的
然后再进行测试1
测试2
发现1中回应的包中的token值竟然是下一次提交包中的token值,说明token值是可以在回应的包中拦截
Grep-Extract模块里选择回应包中的token值,payload sets选择递归搜索,进程选择为1
Redirections选择anyways
选择pitchfork模式开始攻击