绕过 CDN 获取真实 IP

为什么要绕过 CDN 获取真实 IP?

CDN(内容分发网络)可以隐藏服务器真实 IP、抗 DDoS、防探测。但一旦你能拿到源站的真实 IP,就能绕过 CDN,直接攻击源站(如 Web 服务、CMS、数据库等)。


常见真实 IP 绕过方法(仅限安全研究与测试)

 

1️⃣ 子域 & 历史 DNS 泄露

  • 使用工具:dnsdumpster.comfofacrt.shsecuritytrails

  • 查找子域或历史解析记录,例如:

api.example.com → 123.123.123.123 cdn.example.com → [CDN IP]

有时源站只绑定在某些子域名,未经过 CDN。


2️⃣ C类旁站扫描

  • 使用工具:fofa, shodan, zoomEye

  • 查找与目标 CDN IP 相近的 IP 网段是否有站点暴露了相似的内容,如同一个 CMS 或页面标题。

搜索语法示例(FOFA):

ip="123.123.123.0/24" && body="Powered by WordPress"

3️⃣ 邮件/域名 SPF 记录泄露

  • 使用命令:

nslookup -q=txt example.com

  • SPF 记录可能包含:

    ip4:123.123.123.123 include:spf.mailgun.org

邮件发送服务器 IP 常与主站相同或在同一网段!


4️⃣ 后端接口/接口错误回显

  • 访问未被 CDN 拦截的接口:如 /api/healthcheck/debug/status

  • 如果返回:

    "server_ip": "123.123.123.123"

可能有意或无意暴露真实地址。


5️⃣ 上传文件 + 日志探测法

  • 上传包含 SSR 的 URL:

    http://burpcollaborator.net/test.png

  • 如果后台访问了这个地址,你就能获取发起访问的源站 IP!

用 Burp Collaborator、canarytokens.org 追踪请求来源。


6️⃣ 泄露文件/备份文件中找到真实地址

  • .env.git/configweb.configdebug.log 中可包含真实服务器地址

  • 自动化工具:dirsearch, gf, arjun


7️⃣ Ping 非主域资源(图片/静态资源)

  • 某些静态资源域名没有 CDN 或漏配了白名单,直接解析可得 IP:

ping img.example.com

8️⃣ 发送 HOST 头爆破

  • 对已知 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 不暴露 + 网络访问控制严格

你可能感兴趣的:(网络安全,github)