Burp扫描Cloudflare后需认证的非生产站点(无公网IP)问题咨询
解决Burp扫描Cloudflare后带身份凭证站点的方案(无公网IP场景)
一、优先绕开Cloudflare直接访问源站
既然是非生产站点,直接连源站最省心:
- 找运维拿到站点的真实源站IP,修改本地
hosts文件,把目标域名映射到这个IP,比如:192.168.1.100 your-test-site.com,这样Burp的流量直接打去源站,不会触发Cloudflare的WAF或验证。 - 如果源站有防火墙,临时把Burp所在机器的内网IP加进防火墙白名单,或者用公司VPN打通内网到源站的网络。
二、让Burp自动带上身份凭证
搞定网络后,得让Burp能通过身份验证:
- 用Burp自带的浏览器手动登录一次目标站点,Burp会自动把Cookie存到会话罐里。然后去
Proxy > Options > Sessions配置会话处理规则,开启Use cookies from session jar,这样后续扫描请求都会自动带上有效Cookie,不用反复登录。 - 如果是HTTP Basic认证,直接在
Target > Site map选中目标域名,右键进Add to scope,然后在Target > Scope > Advanced里填账号密码;要是OAuth这类复杂认证,就抓一次登录后的完整请求头,在Burp的Match and Replace里设置自动添加认证头。
三、解决Burp无公网IP的问题
分两种情况处理:
- 如果源站和Burp在同一内网,直接用内网IP访问源站就行,完全不需要公网。
- 如果源站在公网但Burp在内网,要么在能访问源站的内网机器上装Burp,要么用VPN连到源站所在的内网环境。实在要用公网通道,就整个内网穿透工具(比如frp)给Burp的代理端口映射个公网入口,但仅限非生产环境用,别乱开权限。
四、非要走Cloudflare的备选方案
如果必须通过Cloudflare扫描,就得降低被拦截的概率:
- 去Cloudflare后台,把站点安全级别调到最低(比如“本质无害”),关掉人机验证,再把Burp机器的IP加到
Security > WAF > IP Access Rules的白名单里。 - 给Burp配置请求头伪装,在
Proxy > Options > Match and Replace加规则,自动给所有请求补上正常浏览器的UA、Referer、Accept-Language这些字段,别让Cloudflare一眼认出是爬虫。
内容的提问来源于stack exchange,提问作者NutsAndBolts
相关产品推荐
相关产品推荐

