CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器, 通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。但在安全测试过 程中,若目标存在CDN服务,将会影响到后续的安全测试过程。
- 如何判断目标存在CDN服务? 利用多节点技术进行请求返回判断
http://ping.chinaz.com/
https://ping.aizhan.com/
如果ping的结果只有一个那么就没有CDN、要是不止一个则可以判断为有CDN 没有使用CDN
- CDN对于安全测试有那些影响?
cdn会隐藏服务器真实的ip地址,无法对目标网站的操作系统进行渗透,但cdn站点又可以理解为是目标站点的镜像站点(大多数都是静态cdn加速),拥有相同的网站架构,且cdn服务器可与站点服务器进行交互,因此sql注入,xss等漏洞的挖掘并不受太大影响。
- 目前常见的CDN绕过技术有哪些?
子域名查询:
因为有些主站是做了CDN服务而子站是没有做CDN服务
邮件服务查询:
邮箱大部分都是内部人在访问,而且访问量一般不会很大,所以一般不会做CDN。
国外地址请求:
做CDN一般会针对自己的用户群,一个网站的用户都在国内,那么国外访问可能就不会有CDN,访问直接访问到真实IP。尽量多选几个冷门国家进行访问,如果IP都相同,很可能就是。
遗留文件:
如(php的phpinfo.php,可能会看到真实IP)
扫描全网:
可能得到所有IP,然后进行分析
黑暗引擎搜索: 可能会得到google,百度查不到的信息
fofa、傻蛋、谛听、zoomeye、censys
特定文件dns历史记录:
网站刚开始可能没有CDN,那么通过查新网站的CDN历史记录,可能会找到当时的解析到的IP,这个IP可能就是当前网站的真实IP。
以量打量:
一个CDN节点的流量比如有100M,那么很多人去访问,将流浪耗尽,之后再访问就可能是真实IP了。(又称流量耗尽攻击)。
CDN真实IP地址获取后绑定指向地址 更改本地HOSTS解析指向文件1.邮件源码中查。2.第三方查。3.更改hosts,看能不能打开。4.看ip地址所在地,与网站公司所在地。以上综合来分析。
其他:
fackcdn, w8fuckcdn, zmap
案例演示:
学而思
通过网站:https://ping.chinaz.com/
测试 www.xueersi.com
测试 xueersi.com
注:通过对比发现xueersi.com没有使用cdn,可以直接获取真实IP地址。
可以通过第三方ip地址查询工具验证获取到ip是否可信:https://get-site-ip.com/