关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

看CDN绕过技术总汇作为防御借鉴

发布时间:2024-03-14 10:55:29

CDN 是利用缓存技术,解决如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过 CDN 分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的(负载均衡)

用户在浏览器输入域名,先向 DNS 服务器发送请求

DNS 服务器将域名解析权交(通过 CNAME)给 CDN 专用 DNS 服务器

客户端根据返回的 ip 访问 CDN 负载均衡设备

负载均衡设备根据当前的负载情况和用户所需内容,返回合适的 ip

客户端最后根据 ip 访问对应的 CDN 缓存服务器

优点

缓解原服务器访问压力

解决互联互通难题

解决网站突发流量的问题

合理利用互联网资源

全面预防单点故障

改善用户的访问的质量和体验

提供全面、准确、和详细的数据统计

有效的防治黑客攻击源站

......


适用范围

一般来说以资讯、内容等为主的网站,具有一定访问体量的网站

静态内容(html、js、css、image 等,如图床)

视音频、大文件下载,分发加速:哔哩哔哩、腾讯等视频,百度云盘、蓝奏云等

视频直播加速:斗鱼、淘宝、虎牙直播

移动应用加速:移动 app 内图片、页面、短视频、UGC 等内容,小程序等

像直播这一类必有 CDN,因为一个网站直播流涌入大量用户,现在任何一家直播平台都没有直接负载的服务器能力。看直播再快的网速都有一定延迟的原因之一就是,需要在 CDN 里缓存一部分,用户从 CDN 里观看。


判断是否存在 CDN

PingPingPing

不同地区对应着不同的 CDN 中心,所以使用不同站点的 ping 服务可分配到不同的 CDN。这很简单,使用各种多站点 ping 服务来检查对应的 IP 地址是否唯一。如果不是唯一的,则使用大多数 CDN。多站 Ping 网站为:


http://ping.chinaz.com/


http://ping.aizhan.com/


http://tools.ipip.net/ping.php (强烈推荐这个,这个默认多站 ping,真的很多)


CDN 绕过

方法一:查询 DNS 解析记录

1. 查看 IP 与域名绑定的历史记录。使用 CDN 之前可能有记录。相关查询网站为:


Dnsdb


微步在线


Netcraft


IPIP(没错又是这个网站,它太猛了)


2. 借助 Securitytrails 平台(https://securitytrails.com/)


攻击者可以查明真实的原始 IP。他们只需在搜索字段中输入站点域名并按 ENTER,即可在左侧菜单中找到 “历史数据”。


如何找到隐藏在 CloudFlare 或 Tor 背后的真实原始 IP?


除了过去的 DNS 记录,即使是当前的记录也可能泄露原始服务器 IP。例如,MX 记录是查找 IP 的常用方法。如果网站在与 Web 相同的服务器和 IP 上托管自己的邮件服务器,则原始服务器 IP 将在 MX 记录中。


方法二:查询子域名

毕竟 CDN 还是不便宜,所以很多站长可能只会在主站或者流量大的子站做一个 CDN,而很多小站子站跟主站在同一个服务器或者同 C 段,此时可以通过子域对应的 IP 查询,帮助找到真实 IP 站点。


微步在线

上面提到的微步在线功能强大,黑客只需输入域名即可查找(如 baidu.com),点击子域选项即可找到其子域,但免费用户每月只有 5 次免费查询机会。

Dnsdb

黑客只需要输入 baidu.com TYPE:A 就可以收集到百度的子域名和 IP。

Google

谷歌站点:baidu.com-www 可以看到除 WWW 以外的子域

子域扫描器

Layer 子域名挖掘机和 lijiejie 的 subdomain 那个工具都很不错

推荐长亭的 xray

方法三:网络空间引擎

fofa、鹰图、Zoomeye、shodan、360


推荐鹰图


只需输入:title:“网站的 title 关键字” 或者 body:“网站的 body 特征” 就可以找出收录的有这些关键字的 ip 域名,很多时候能获取网站的真实 ip


方法四:使用 SSL 证书寻找真实原 IP

如果您在 xyz123boot.com 上托管服务,则原始服务器 IP 为 136.23.63.44。CloudFlare 将为您提供 DDoS 防护、Web 应用防火墙和其他一些安全服务,以保护您的服务免受攻击。为此,您的 Web 服务器必须支持 SSL 并具有证书。此时,CloudFlare 与您的服务器之间的通信,就像您与 CloudFlare 之间的通信一样,将被加密(即没有灵活的 SSL)。这看起来很安全,但问题是当你直接连接到 443 端口(https://136.23.63.44:443)上的 IP 时,会暴露 SSL 证书。


此时,如果攻击者扫描 0.0.0.0/0,整个互联网,就可以在 xyz123boot.com 的 443 端口获取有效证书,进而获取提供给你的 web 服务器 IP。


方法五:使用 HTTP 头找到真正的原始 IP

借助 SecurityTrails 这样的平台,任何人都可以在海量的大数据中搜索自己的目标,甚至可以通过比较 HTTP 标头找到原始服务器。


特别是当用户有一个非常特殊的服务器名称和软件名称时,攻击者更容易找到你。


如果要搜索的数据很多,如上所述,攻击者可以在 Censys 上组合搜索参数。假设您正在与 1500 个 Web 服务器共享您的服务器 HTTP 标头,所有这些服务器都发送相同的标头参数和值组合。而且您还使用新的 PHP 框架来发送唯一的 HTTP 标头(例如:X-Generated-Via: XYZ 框架),目前约有 400 位网站管理员使用该框架。最终,在三台服务器的交汇处,通过人工操作即可找到 IP,整个过程仅需几秒。


例如,Censys 上用于匹配服务器头的搜索参数为 80.http.get.headers.server:,查找 CloudFlare 服务的网站的参数如下:


80.http.get.headers.server:cloudflare


方法六:利用网站返回的内容寻找真实的原 IP

如果原服务器 IP 也返回网站内容,可以在网上搜索很多相关资料。


浏览网站源代码以查找独特的代码片段。在 JavaScript 中使用具有访问权限或标识符参数的第三方服务(例如 Google Analytics、reCAPTCHA)是攻击者经常使用的一种方法。


以下是从 HackTheBox 网站获得的 Google Analytics 跟踪代码示例:


ga (' 创建 ','UA-93577176-1','auto');


80.http.get.body 可以使用:参数通过 body/source 过滤 Censys 数据。不幸的是,普通搜索字段有局限性。但是您可以在 Censys 请求研究访问权限,这使您可以通过 Google BigQuery 进行更强大的查询。


方法七:使用外地主机解析域名

国内很多 CDN 厂商因为各种原因只做国内线,国外线路可能几乎没有。这时候我们可能会使用外地主机直接访问真实 IP。


方法八:网站漏洞搜索

目标敏感文件泄露,如 phpinfo、GitHub 信息泄露等探针

XSS 盲打、命令执行反向 shell、SSRF 等

无论是社会工程还是其他手段,目标网站获取 CDN 中的管理员账号,在 CDN 的配置中可以找到网站的真实 IP。

方法九:网站邮件订阅搜索

RSS 邮件订阅,很多网站都有自己的 sendmail,会发邮件给我们。此时,服务器的真实 IP 将包含在邮件的源代码中。


方法十:用 Zmap 扫描全网

要找到 xiaix.me 网站的真实 IP,我们首先从 apnic 获取 IP 段,然后使用 Zmap 的 banner-grab 扫描出开放 80 端口的主机进行 banner 抓包,最后在 Host 中写入 xiaix.me http 请求。


方法十一:F5 LTM 解码方法

服务器使用 F5 LTM 进行负载均衡时,也可以通过 set-cookie 关键字解码得到真实 ip,例如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000,第一个小数部分的十进制数是 487098378 取出来,然后转换成十六进制数 1d08880a,然后从后往前,取出四位数字,就是 0a.88.08.1d,最后再转换成十进制数 10.136.8.29,也是最后一个真实 IP。



/template/Home/Zkeys/PC/Static