【juice-shop】★★★ CAPTCHA Bypass:绕过验证码批量提交反馈

通过分析验证码机制,发现已通过验证的请求包可直接重放,利用 Burp Intruder 的 Null payloads 在 20 秒内自动提交 10 条以上客户反馈。

【juice-shop】★★★ CAPTCHA Bypass:绕过验证码批量提交反馈

0x01 任务简报

💡 提示 (Hints)
1. 绕过验证码后,编写脚本自动提交,或打开多个标签页快速提交。
2. 可以准备 10 个浏览器标签页,逐个破解验证码并填写表单,在 20 秒内快速切换提交。
3. 若要求改为 60 秒内提交 100 条以上,标签页切换策略将难以应对。
4. 深入研究验证码机制的工作原理,尝试寻找绕过方法或自动化动态破解方案。
5. 将操作封装成脚本,重复执行 10 次。

0x02 实战:复现漏洞

🔍 第一步:抓包分析验证码机制

打开 Burp Suite,访问 http://127.0.0.1:3000/#/contact,分析请求包。

反馈页面请求

访问用户反馈页面时,前端会向后端申请一个验证码,响应结构如下:

验证码申请响应

猜测提交反馈时,请求包中包含 captchacaptchaId 两个字段,推测后端会将提交的 captcha 与存储的 answer 进行比对,相等则通过验证。

提交请求包

💡 第二步:发现重放漏洞

但是!这里我做了一个尝试,将包发送到重放器顺手点了一下发送,发现返回201,有效……

这说明后端对已验证的请求包没有做重放防护,直接重放即可绕过验证码。

Repeater 重放成功

💥 第三步:使用 Intruder 批量重放

将请求发送到 Intruder,配置 Null payloads:

  • Positions — 点击 Clear §,不添加任何标记
  • Payloads — Payload type 选择 Null payloads,设置发送次数为 10

Intruder 配置

Null payloads 设置

✅ 第四步:完成挑战

点击 Start Attack,自动在 20 秒内完成 10 次提交,挑战完成。


参考资料

使用 Hugo 构建
主题 StackJimmy 设计