使用Burp Suite拦截请求时如何绕过Cloudflare防护?
Cloudflare 检测 Burp Suite 的核心机制
- TLS 指纹(JA3/JA3S)匹配:Burp 默认的 TLS 握手特征(包括密码套件列表、TLS 扩展顺序、椭圆曲线配置等)和真实浏览器的特征存在明显差异,Cloudflare 内置的指纹库已经收录 Burp 的默认 TLS 特征,可直接识别代理流量并拦截。
- 请求头特征校验:真实浏览器发送的请求头顺序、字段完整性、取值都有固定规则,Burp 发起的请求往往会出现头顺序不匹配、缺失
Sec-Fetch系列安全头、携带多余自定义字段等问题,会被 Cloudflare 直接判定为非浏览器流量。 - JS 环境与证书异常检测:Cloudflare 下发的验证 JS 会检测当前环境的证书颁发者、是否存在代理标记、
navigator.webdriver等反爬特征,Burp 的自签证书如果没有正确导入信任库,或者浏览器存在代理相关的异常属性,都会被 JS 检测到,触发 403 拦截。 - 行为特征识别:Burp 拦截后手动重放、修改请求的时间间隔,和真实用户操作的随机间隔差异较大,短时间内高频发送请求也会触发 Cloudflare 的行为风控规则。
对应的绕过方法
- 对齐 TLS 指纹:修改 Burp 的 TLS 配置,完全匹配你使用的浏览器的 TLS 握手参数,也可配合 JA3 伪造扩展,将 Burp 的 TLS 指纹修改为普通 Chrome/Firefox 的特征,避免被指纹识别拦截。
- 请求头完全对齐:抓包对比关闭代理时浏览器发送的原始请求头,调整 Burp 发送的请求头顺序、字段取值,补全所有
Sec-Fetch相关头,删除 Burp 自动添加的自定义字段,保证请求头和真实浏览器完全一致。 - 先过 JS 质询再开启拦截:首次访问目标站点时,暂时关闭 Burp 的拦截功能,让浏览器正常加载 Cloudflare 的验证 JS,完成质询拿到
cf_clearanceCookie 后再开启拦截,该 Cookie 有效期通常为数小时,有效期内可正常拦截修改请求。 - 消除浏览器环境特征:将 Burp 根证书正确导入浏览器和系统的信任根证书库,避免 JS 检测到证书异常;也可使用反检测浏览器配合 Burp 代理,消除
webdriver、代理相关的 JS 环境标记,规避 JS 层检测。 - 调整请求行为特征:如果是批量发起请求,将请求间隔设置为 1-3 秒的随机值,模拟真实用户的操作节奏,避免短时间内高频请求触发行为风控。
内容的提问来源于stack exchange,提问作者Alexey Kholodkov
相关产品推荐
相关产品推荐

