绕过CDN的办法总结

CDN绕过姿势

前置知识

传统访问:用户访问域名 → 解析服务器 → 访问目标主机
普通CDN:用户访问域名 → CDN节点 → 真实服务器IP → 访问目标主机
带WAF的CDN:用户访问域名 → CDN节点(WAF) → 真实服务器IP → 访问目标主机

可以发现如果服务器开启了CDN服务的话,我们正常情况是访问的CDN节点的IP地址而不是真是服务器IP地址

CDN的配置

  1. 加速域名 - 需要启用加速的域名
  2. 加速区域 - 需要启用加速的地区
  3. 加速类型 - 需要启用加速的资源(视频,图片……)

判断服务器开启了CDN

  1. 使用nslookup命令,如果结果有过个ip则可能开启了cdn
  2. 使用超级ping(各地ping),每个地方ping的CDN节点可能不一样,这就导致结果会出现多个ip站长工具

如何绕过CDN

子域名入手

开启CDN服务是一个很费钱的事情,所以一般网站只会在主要的域名上开启,而子域名没有开启,则可以通过子域名查询到服务器的真实IP地址

查询子域名的方法有很多,例如google hacking,subDomainsBrute等

网站漏洞

例如phpinfo敏感信息泄露、Apache Status、网站的源码的泄露、还有xss,ssrf等等的漏洞可以获取到服务器的真实IP地址

历史DNS记录

一个服务器早期可能没有资金去开启CDN的服务,而到了后期发展起来了才使用CDN,那么之前留下的DNS记录就有可能记录了服务器的真实IP地址

CDN本身入手

如果可以拿到后台的账号密码,真实IP就藏不住了

Mx记录或邮件

有些站点有发送邮件的功能,用于订阅内容等,而这些邮件系统很多都是在内部服务器上的,没有进过CDN的解析,所以有可能会在邮件的源码中找到服务器的真实IP地址

例如忘记密码发送的邮件验证码,这些都是服务器主动发给我们,而不是CDN节点发送给我们,既然是主动发送的则就会使用使用真实的IP地址发送

例如qq邮箱,可以在收到邮件的同时点击查看邮件原文

国外ping

对于国内的网站可能只做了国内的CDN,对于国外可能还是使用的真实服务器的IP地址,所以可以使用国外的ping工具对服务器获取IP地址

网络空间搜索引擎

特有的http头部;特定的keyword;特定的IP段搜索

简单粗暴的办法

国外研究的平台,通过一些逻辑直接分析出IP地址:Get Site IP

直接扫全网,找到匹配的页面内容,常见的工具:Zmap、fuckcdn等等

如何判断找到的IP地址是真实IP地址

一般来说如果是web服务的话,可以直接在地址栏访问IP地址,CDN节点肯定是不能出现web页面的,但是如果是真实服务器的地址的话就有可能得到一个web页面

小结

以上办法不是百分百准确的能找到主站的真实IP地址,情况总是多变的

posted @ 2025-04-28 20:38  初雪chuxue  阅读(118)  评论(0)    收藏  举报