背景
Cloudflare 5秒盾(5s盾)是一种常见的反爬虫机制,通过验证用户是否为真实浏览器来保护网站。本文通过实验验证了绕过 Cloudflare 5秒盾的关键参数。
测试环境
测试链接: https://nopecha.com/demo/cloudflare
通过 F12 开发者工具打开 Cookie,发现 cf_clearance 是用来校验 CF 盾是否通过的关键标识。
实验过程
初步猜想
假设: 在 A 浏览器获取到 cf_clearance 后,将其复制到 B 浏览器的 Cookie 中,B 浏览器是否可以直接绕过 CF 盾?
第一次验证:仅复制 cf_clearance
实验步骤:
- 打开火狐浏览器,访问测试网站
- 点击 5秒盾,等待验证通过,获取
cf_clearance - 打开谷歌浏览器,访问同一测试网站(不点击 5秒盾)
- 将火狐浏览器的
cf_clearance复制到谷歌浏览器的 Cookie 中 - 刷新页面
实验结果: ❌ 谷歌浏览器无法绕过 CF 盾
结论: 仅凭 cf_clearance 无法绕过验证,说明 Cloudflare 还结合了其他参数进行校验。
深入分析
基于第一次验证的结果,推测 Cloudflare 可能通过以下参数组合进行校验:
cf_clearanceCookie 值- User-Agent (UA) 头
- JA3 指纹
- IP 地址
第二次验证:cf_clearance + UA + IP
实验思路:
由于 JA3 指纹在谷歌浏览器和火狐浏览器中不同,本次验证先排除 JA3 指纹的影响,仅验证 cf_clearance + UA 头 + IP 地址的组合。
实验步骤:
- 在火狐浏览器中获取
cf_clearance(同第一次验证) - 在谷歌浏览器中:
- 复制火狐浏览器的
cf_clearance到 Cookie - 使用
User-Agent Switcher and Manager工具将 UA 头修改为火狐浏览器的 UA
- 复制火狐浏览器的
- 刷新页面
实验结果: ✅ 谷歌浏览器可以绕过 CF 盾
初步结论: 同一个 cf_clearance + 同一个 UA 头 + 同一个 IP 地址 + 不同 JA3 指纹 可以绕过 CF 盾。
第三次验证:不同 IP 地址
实验步骤:
- 在不同 IP 的两台电脑上分别打开浏览器
- 重复上述过程(复制
cf_clearance和 UA 头)
实验结果: ❌ 无法绕过 CF 盾
最终结论
经过多次验证,得出以下结论:
✅ 可以绕过的情况:
- 同一个
cf_clearance - 同一个 User-Agent (UA) 头
- 同一个 IP 地址
- 即使 JA3 指纹不同,也可以在不同浏览器中绕过
❌ 无法绕过的情况:
- IP 地址不同时,即使其他参数相同,也无法绕过
关键发现: Cloudflare 5秒盾的验证机制主要依赖于 cf_clearance、User-Agent 和 IP 地址的组合,而 JA3 指纹似乎不是必需的验证参数。