用途:在授权安全测试中检测 CAPTCHA(验证码)防护是否可被绕过,属于自动化测试类技能。
主要能力(模式):
- 省略 CAPTCHA 字段:先 GET 带验证码的表单/端点确认字段名(常见 g-recaptcha-response、captcha、captcha_token、captcha_answer、h-captcha-response),再提交除该字段外的全部字段;若动作成功,说明服务端未校验。
- 空值/异常值:字段保留但传空字符串、null、0 或 undefined,部分应用只校验字段存在而不校验内容。
- 令牌重放:完成一次合法验证并捕获 token,立刻用同一 token 发起第二次请求;若仍成功,说明 token 非一次性。
- 相似端点漏检:注册表单加了验证码,但密码重置、API 路径或移动端接口(如 /api/register 与 /register)未加,可尝试同样动作。
- 速率/吞吐量门控:某些“证明你是自动化”的挑战仅检查到达路由的请求数,而非成功结果,垃圾载荷同样计入;滑动窗口计数场景需并发发送(如单次请求设置 concurrency N,N 不小于所需次数),串行发请求无法满足窗口。先确认端点的必填校验(如不可为空的评分字段),使并发载荷至少能到达计数中间件。
- 程序化解真实 reCAPTCHA/hCaptcha 需外部服务,仅在模式 1–4 失败且预算允许时考虑。
判定依据:任何在无有效 CAPTCHA token 情况下完成的状态变更动作(账号创建、登录成功、表单提交)即可确认绕过。
相关漏洞类别:仅客户端校验、token 未绑定会话或动作、未强制一次性、仅在若干次失败后才加验证码、静态或可预测的自定义验证码。
影响链:单独绕过为中危;与登录端点组合等同移除暴力破解门禁,可与 hunt-brute-force 串联;与注册组合可批量养号;与密码重置组合可造成令牌洪泛,可与 hunt-forgot-password 串联;也可与 hunt-race-condition 组合抢在 token 失效前提交。
适用场景与限制:仅限已获授权的安全测试;具体字段名、阈值与提示语以目标系统实际返回为准,资料未提供具体环境配置、费用与完整 PoC 代码。