CDN概述
CDN 的全称是 Content Delivery Network,即内容分发网络。CDN 是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器, 通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。但在安全测试过程中,若目标存在 CDN 服务,将会影响到后续的安全测试过程。
CND的判断
超级ping:借助多个服务器对目标网站进行ping检测(利用多节点技术进行请求返回判断)
若多个服务器对目标网站进行ping后返回的是同一个IP地址则无CDN
CDN绕过技术
1、子域名查询
子域名:同IP地址或同网段或不同网段
为了经济考虑,有些不会把分站做CDN服务,那对于子域名的查询即可推断出主站的IP地址
eg:
(1)因为设置域名解析所以访问网站是否有www都可以访问,但设置CDN的时候,有可能只将www.xxxxxx设置解析至CDN服务器,因此若超级ping xxxxxx时就不会有CDN可直接查找到真实IP地址
Get Site Ip(https://get-site-ip.com/):第三方真实IP地址验证(仅供参考)
微部社区:(https://x.threatbook.cn/):历史解析记录查询
(2)m.sp910 & sp910
对于一些网站,前面的**m.**代表手机类站点,因此在超级ping的时候可以通过ping:m.sp910查询IP地址
(3)oneforall子域名收集工具:kali
https://github.com/shmilylty/OneForAll
python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./example.txt run
2、邮件服务查询
公司的邮箱服务器大部分不会注册CDN,则可以追踪发件地址
查看邮件源码,查看received可以得到IP地址,再自己验证即可(可以用host文件验证)。


3、国外地址请求
若没有部署到国外的CDN节点,从国外访问目标找到真实地址
4、引擎搜索特殊文件
fofa:https://fofa.info
shodan:https://www.shodan.io
zoomeye:https://www.zoomeye.org
favicon . hash值搜索:icohash脚本
import mmh3
import requests
response = requests.get('http://www.xx.com/favicon.ico')
favicon = response.content.encode('base64')
hash = mmh3.hash(favicon)
print 'http.favicon.hash:'+str(hash)
5、DNS历史记录
查看是否有未使用CDN之前的记录,如果有可以查看真实的IP地址
以量打量:CDN有流量的限制,如果只有100M,将其流量用完(多人访问)后再继续访问就是真实IP
工具(扫全网):fuckcdn w8fuckcdn zmap