CDN技术及绕过

CDN

什么是CDN

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。但在安全测试过程中,若目标存在CDN服务,将会影响到后续的安全测试过程。

  • 个人理解:一种服务,CDN服务商将目标网站的资源缓存到自己的服务器上,供用户快速访问,如果目标资源不存在,再去请求主站。

CDN的作用

  1. 减少网络延迟和传输时间,提高用户的访问速度和响应时间。
  2. 分散流量,减轻源服务器的负载压力。
  3. 提供高可用性和容错能力,当有服务器故障时,其他服务器可以接替其工作。
  4. 提供更好的安全性,例如防止DDoS攻击。

CDN对于安全测试的影响

cdn会隐藏服务器真实的ip地址,无法对目标网站的操作系统进行渗透,但cdn站点又可以理解为是目标站点的镜像站点(大多数都是静态cdn加速),拥有相同的网站架构,且cdn服务器可与站点服务器进行交互,因此sql注入,xss等漏洞的挖掘并不受太大影响。

注:如果直接访问CDN站点的ip地址,一般无法看到和主站一样的网页,如果看到了,可能是私有CDN服务

CDN判断及绕过思路

CDN存在判断

使用超级ping工具
若目标存在多个IP的话,很有可能采用了CDN服务,以下为ping www.baidu.com的结果
title

CDN绕过

1.子域名查询
某些企业业务线众多,亦或者成本因素,有些站点的主站使用了CDN服务,或者部分域名使用了CDN服务,某些子域名可能未使用。
可以通过超级ping工具去ping子域名来实现绕过
2.邮件服务查询
一些站点的邮箱服务可能来自于真实的IP,当给你发邮件时,你可以通过邮件源代码或者邮件头查看到目标的真实IP。
https://www.sysgeek.cn/how-to-trace-emails/
3.国外地址请求(尽量用偏僻的小国家节点去请求)
一些站点由于服务对象基本在国内,或者成本原因,在国外一些地方没有CDN服务,如果用国外的服务器去请求站点域名,则会访问到站点的真实地址。
可以开VPN全局代理然后ping或者用全球ping工具
4.遗留文件,扫描全网(不太实用)
一些站点在搭建之初,会用一些文件测试站点,例如“phpinfo()”文件,此类文件里就有可能包含了真实的IP地址。可以利用Google搜索引擎搜索关键字“site:xxx.com inurl:phpinfo.php”,搜索站点是否有遗留文件。
title
5.黑暗引搜索指定文件
这里的特定文件,指的是站点的icon文件,也就是网站的图标,一般查看网页源代码可以找到,格式大致“http://www.xx.com/favicon.ico”。
在shodan搜索网站icon图标的语法为:http.favicon.hash:hash值,hash是一个未知的随机数,我们可以通过shodan或者Fofa语法hash值,来进一步获取到所有带有某icon的网站。
最好结合灯塔来获得hash
1,2,3最实用

Contents
  1. 1. CDN
    1. 1.1. 什么是CDN
    2. 1.2. CDN的作用
    3. 1.3. CDN对于安全测试的影响
  2. 2. CDN判断及绕过思路
    1. 2.1. CDN存在判断
    2. 2.2. CDN绕过
|