目录

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

【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,分析请求包。

../../../../../../public/p/juice-shop-captcha-bypass绕过验证码批量提交反馈/assets/Pastedimage20260407173107.png

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

../../../../../../public/p/juice-shop-captcha-bypass绕过验证码批量提交反馈/assets/Pastedimage20260407174052.png

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

../../../../../../public/p/juice-shop-captcha-bypass绕过验证码批量提交反馈/assets/Pastedimage20260407174117.png

💡 第二步:发现重放漏洞

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

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

../../../../../../public/p/juice-shop-captcha-bypass绕过验证码批量提交反馈/assets/Pastedimage20260407174606.png

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

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

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

../../../../../../public/p/juice-shop-captcha-bypass绕过验证码批量提交反馈/assets/Pastedimage20260407174847.png

../../../../../../public/p/juice-shop-captcha-bypass绕过验证码批量提交反馈/assets/Pastedimage20260407174859.png

✅ 第四步:完成挑战

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


参考资料