验证码(CAPTCHA)旨在区分人类与自动化程序,但各类实现都存在被绕过的途径,包括 OCR 识别、打码平台、音频转文字、重复利用已验证 Token 等,是自动化攻击对抗中持续演进的猫鼠博弈。

| CAPTCHA 全称 | Completely Automated Public Turing test to tell Computers and Humans Apart |
| 商业打码价格 | 每千次约 0.5-2 美元(2024 年行情) |
| reCAPTCHA v3 发布 | 2018 年 10 月 |
OCR 暴力识别:早期文本验证码(扭曲字符+噪点背景)在深度学习兴起后脆弱不堪。2017 年,Ye 等人用卷积神经网络对 Google reCAPTCHA v2 图片题的识别准确率达到 70% 以上,此后商业打码 API 提供了更高精度的解决方案。
人工打码平台:以每千次 0.5-2 美元的价格雇用真人人工识别验证码,对于高价值目标(账号注册、抢票、投票刷量)完全经济合算。2captcha、DeathByCaptcha 等平台公开运营,接单规模极大。
Token 复用:部分实现在服务端验证通过后,把验证成功状态绑定到 Session 而非单次请求,攻击者只需手动完成一次验证,后续在同一 Session 下的自动化请求全部绕过。
音频接口:无障碍设计要求提供音频验证码,早期版本可用语音识别 API 直接转录,Google 已多次加强音频题难度,但此攻击面始终存在。
参数篡改:若前端通过 captcha_result=true 这类字段告知后端验证结果,而后端没有自行与验证服务核对,直接修改参数即绕过。这属于逻辑漏洞,不是验证码本身的缺陷。[1]
Google 于 2018 年推出 reCAPTCHA v3,抛弃「展示挑战题」模式,改为持续监测用户行为(鼠标轨迹、停留时长、点击模式),输出 0-1 分的可信度分数,由网站自行决定阈值和处置动作。这使得传统 OCR 和人工打码完全失效,但引入了新的对抗面:高质量的行为模拟(如使用真实浏览器的 Puppeteer 脚本结合随机化鼠标轨迹)仍可能得到较高分数。
对于安全性要求极高的场景(金融交易、高价值账号操作),单独依赖验证码不够,应叠加设备指纹、风控规则、人工审核等多层机制。

| CAPTCHA 全称 | Completely Automated Public Turing test to tell Computers and Humans Apart |
| 商业打码价格 | 每千次约 0.5-2 美元(2024 年行情) |
| reCAPTCHA v3 发布 | 2018 年 10 月 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧