定义:CDN全称Content Delivery Network,即内容分发网络。
思路:是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。
实际场景:通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,使用高防CDN加速系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。
目的:使用户可以就近获取所需内容,解决网络拥堵的状况.提高用户访问网站的响应速度.是目前大型网站使用的流行的应用方案.
1.如何判定目标存在CDN技术.
1.超级ping http://ping.chinaz.com/ 在线工具测试.(多地点网络测试)
以百度为例:下图中有多个响应IP说明 该网站运用了CDN加速技术.
上图说明没有使用CDN 仅仅一个独立IP.
2.使用nslookup如下图说明使用了CDN address这有多个IP.
3.其他工具类查询网站:https://www.ipip.net/ip.html 把ip复制过来(利用shodan的浏览器插件)像下图这种直接显示地理位置的 说明没有CDN.
像下图这种 没有显示具体的地理位置 再去搜索这个运营商 该运营商明显是一家专门提供CDN加速服务的这样的话 实锤该网站使用了cdn.
工具2:https://www.cdnplanet.com/tools/cdnfinder/ 国外的网站.
下图说明有CDN.
2).渗透测试中如何绕过CDN查找真实IP.
1.利用子域名请求获取真实IP.
CDN需要一定的费用.而且价格不便宜,很多站长只对流量大、业务多的主站或者大一点的子站进行CDN加速.但是很多小的子域名站点没有弄CDN,有时这些子站和主站在相同的服务器或者同一个C段上面.此时可以通过子域名的IP来查找网站的真实IP.
2.利用国外地址.
国内很多CDN厂商 因为各种原因只做了国内的线路进行CDN加速.而针对国外的线路几乎没有.此时我们可以直接使用国外的主机就可以直接访问获取到真实的IP.
在线工具:https://check-host.net/https://censys.io/
3.利用第三方接口.
4.利用邮件服务器接口.
A.让目标主动链接我们,比如在注册网站或者找回密码的时候 需要目标站点给我们发送一个确认的邮件,我们可以点击相对应的确认链接查看网站的源代码就行,如果是大一点的网站 基本上都会有自己的邮件服务器 那么这个邮件服务器可能与目标站点在相同的C段上面,这个时候我们一个个去扫,看返回的html源代码是否和web的对的上.(在邮箱页面的右上角有一个显示邮件原文)
B.相同的原理下 还有RSS邮件订阅.
5.利用黑暗引擎搜索相关的特定文件.网络空间搜索擎.Zoomeye.fofa.shodan、360quake测绘等.
在主站寻找关键词. 然后用fofa等搜索这个关键词 出来的网站进行人工删选,点击对应的IP 如果可以打开 且站点内容和原站点一样 说明这就是真实IP ,如果网站不可以打开 有可能这就是个CDN,也有可能就是一个虚拟主机服务器.(进一步排查:使用ip==“ x” 搜索这个IP上面的全部服务和站点 如果显示和原站点一样结尾的域名 基本确认这个是真实的IP 是原目标站点的网站服务器)可能就是这个目标站的相关站点.以此可能找到真实的IP.
6.利用网站漏洞:
比如SSRF、命令执行、存储型的XSS 都可以让服务器主动访问我们预设的web服务器,那么就可以在日志里面看见目标服务器的真实IP.A.存储型XSS:把一段XSS代码插入到目标的服务器站点上面,当有人访问这个站点的时候 就会触发相对应的XSS代码 返回到我们的XSS平台上面.就可以看得相对应的信息.
7.利用DNS缓存、历史记录查询目标站点的缓存.
8.利用网站敏感信息(遗留文件)
和邮件服务相似. 比如phpinfo.php 具体还需要看字典. (下图就是遗留文件)图中的IP有可能就是真实的IP地址.
9.社会工程学
搞到CDN账号或者想办法社web的后台账号密码.
额外知识PS:CDN正常来说是按照流量计费的 所以想办法让他的流量耗光 就可以访问真实的IP 这也是一种思路。(具体操作自己可以思考 但是不推荐)
PS:最后的办法. 全网扫描(最强大的)全网扫描用的工具:zmapZMap目前已经完全实现了用于TCP SYN扫描,ICMP,DNS查询,UPnP,BACNET的探测模块,并且可以发送大量UDP探测。(使用这个工具的时候 尽量避开国内的IP)
扫描全网开放特定端口的IP,然后获取他们的特定页面的HTML源代码,然后和目标站点的HTML源代码进行对比,如果发现源代码相同 很有可能这就是目标网站的真实IP (前期工具 后期需要人工删选)