智斗验证码

验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,

0x01: 验证码机制原理
在这里插入图片描述

 1. 客户端发起一个请求。
 2. 服务端响应请求,并生成一个新的sessionID和验证码。
 3. 服务端将新的sessionID和验证码一起发给客户端。
 4. 客户端提交验证码和sessionID给服务端。
 5. 服务端验证验证码同时销毁当前sessionID的验证码,返回验证结果给客户端。

0x02:本地js生成并验证

有的时候我们在进行暴力破解登陆信息时,会遇到需要输入验证码的情况,而这种on client 是在前端的地方写了一个js来生成验证码,通过抓包分析后,这个验证码只是个纸老虎,是不会在后台进行验证的,所以我们可以轻松绕过验证码。

在这里插入图片描述

  • 本地禁用js,可以直接废掉验证码验证机制。
  • 举例Chrome关闭JS方法。
    在这里插入图片描述
    在这里插入图片描述

0x03:服务端生成验证码通过cookie或者response header返回

可以通过读取每次返回到HTML中的验证码字段,使用BP选取字段,自动填充,完成自动填写验证码,进行字典攻击。

0x04:服务端验证码不过期或者过期时间长

如果验证码是在服务端验证的,但是这样也会存在问题,如果服务端在验证验证码后不立即销毁验证码,验证码不会过期,导致一个验证码可以多次使用同一个验证码一直来进行攻击。

这里第一次抓到的包,修改了验证码后的结果
在这里插入图片描述

我们再次使用这个验证码,此时我们也修改了password字段,出现了同样的结果,说明这个验证码过期时间内是可以重复使用的,可以重复利用。使用BP intruder模块暴力破解。
在这里插入图片描述

0x05:验证码自动识别

有的系统虽然使用了验证码功能,但是验证码太过薄弱,导致可以使用工具进行识别。

  • F12查看生成验证码的URL
  • 自动识别验证码工具:PKAV HTTP FUzzer
    在这里插入图片描述

0x06:验证码图片大小可控
请求的验证码图片如果大小可以控制的话,我们可以利用这个可控点实施DOS攻击。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值