CDN(内容分发网络)可以隐藏服务器真实 IP、抗 DDoS、防探测。但一旦你能拿到源站的真实 IP,就能绕过 CDN,直接攻击源站(如 Web 服务、CMS、数据库等)。
使用工具:dnsdumpster.com
、fofa
、crt.sh
、securitytrails
查找子域或历史解析记录,例如:
api.example.com → 123.123.123.123 cdn.example.com → [CDN IP]
有时源站只绑定在某些子域名,未经过 CDN。
使用工具:fofa
, shodan
, zoomEye
查找与目标 CDN IP 相近的 IP 网段是否有站点暴露了相似的内容,如同一个 CMS 或页面标题。
搜索语法示例(FOFA):
ip="123.123.123.0/24" && body="Powered by WordPress"
使用命令:
nslookup -q=txt example.com
SPF 记录可能包含:
ip4:123.123.123.123 include:spf.mailgun.org
邮件发送服务器 IP 常与主站相同或在同一网段!
访问未被 CDN 拦截的接口:如 /api/healthcheck
、/debug/status
如果返回:
"server_ip": "123.123.123.123"
可能有意或无意暴露真实地址。
上传包含 SSR 的 URL:
http://burpcollaborator.net/test.png
如果后台访问了这个地址,你就能获取发起访问的源站 IP!
用 Burp Collaborator、canarytokens.org 追踪请求来源。
如 .env
、.git/config
、web.config
、debug.log
中可包含真实服务器地址
自动化工具:dirsearch
, gf
, arjun
某些静态资源域名没有 CDN 或漏配了白名单,直接解析可得 IP:
ping img.example.com
对已知 IP 发请求,用目标站点的域名当 Host:
curl -H "Host: example.com" http://123.123.123.123
如果返回的是正确站点首页,就说明这个 IP 是源站 ✅
项目 | 建议操作 |
---|---|
仅允许 CDN IP 访问 | 配置源站防火墙,仅放行 CDN IP 段 |
设置 Host 校验 | 拒绝非指定 Host 请求 |
源站 IP 不暴露 | 禁止对外使用真实 IP 发送邮件等服务 |
子域域名隔离 | CDN 子域与 API 源站使用不同二级域名 |
防扫描 & 日志审计 | 开启 WAF,监测异常 Host/Ping 探测行为 |
绕过 CDN 获取真实 IP 是结合 DNS、网络侧、业务配置、历史遗留信息的综合信息搜集行为。防御关键在于源站 IP 不暴露 + 网络访问控制严格。