1.前言
一、什么是CDN?
CDN (内容分发网络) 指的是一组分布在各个地区的服务器。这些服务器存储着数据的副本,因此服务器可以根据哪些服务器与用户距离最近,来满足数据的请求。CDN 提供快速服务,较少受高流量影响。
通俗来讲,CDN就是用来加速访问的。例如百度引擎,全国几亿人每天都在时不时使用百度进行内容搜索,如果只靠自身的服务器是很难支撑的,这个时候百度就使用了CDN技术,在全国各处设置CDN节点,当用户使用百度引擎时,其实就是在使用离用户最近的百度CDN节点来搜索内容。
二、CDN对渗透测试的影响?
隐藏真实源IP,导致对目标IP测试错误
1.传统访问:用户访问域名–>解析服务器IP–>访问目标主机
2.普通CDN:用户访问域名–>CDN节点–>真实服务器IP–>访问目标主机
3.带WAF的CDN:用户访问域名–>CDN节点(WAF)–>真实服务器IP–>访问目标主机
2.正文
一、CDN的识别及绑定访问
如何判断网站是否存在CDN(CDN是付费产品,与手机流量包一样有限制)
超级ping(出现多个IP即启用CDN服务)
超级Ping:http://17ce.com/ (出现多个IP即启用CDN服务)
超级Ping:https://ping.chinaz.com/ (出现多个IP即启用CDN服务)
找出真实IP后怎么办?
绑定访问:绑定HOST访问解析
二、CDN绕过
2.1 遗留文件及漏洞
遗留文件->phpinfo页面泄露(以SERVER-ADDR这个为准)
如果服务器没有内网网卡,那么就会泄露外网的IP地址,看几率的
漏洞探针-> SSRF(不仅仅局限于SSRF,其他漏洞如果能满足如下资源也是可以的)
在目标网站上正好存在一个SSRF漏洞,直接输入这个vps及对应端口,让SSRF去访问这个资源,再看VPS上就会获取到对方反向连接IP
2.2 子域名查询操作
2.3 去掉www
2.4 接口查询国外请求访问
推荐国外节点请求:https://tools.ipip.net/cdn.php(为什么不用超级ping上的国外节点呢?因为那上面的国外节点就那么几个国家)但是这个接口支持很多冷门国家
2.5 主动邮件配合备案
让对方服务器主动发邮件给你(注册、找回密码等功能)
有时候通过不同方法查出不同真实IP,但是你并不清楚哪个是你想要的,这个时候你就可以配合备案信息来辅助
2.6 抓APP包
有时候网站使用了CDN,但是可能其APP没有使用,那么通过抓取APP的数据包有可能得出真实的IP地址
2.7 国外第三方测试CDN网站(结合了几种方法于一身)
2.8 查看历史解析IP
2.9 全网扫描FuckCDN(没有办法的办法)
1、判断加速厂商
厂商查询:
https://tools.ipip.net/cdn.php
2、IP库筛地址段
https://www.cz88.net/geo-public //IP库资源,要下载客户端
3、配置范围扫描
先从IP段去扫描符合开放端口,再从IP去访问看看关键字,将符合结果进行保存!
全网扫描:https://github.com/Tai7sy/fuckcdn
设置点一:
设置点二:
如何知道要筛选的范围呢?可以根据网站的备案信息/所处地点(备案、whois来判断是个人还是企业)网上针对性查找那个市级IP段
运行exe