基础知识之CDN

今天在浏览大佬们的博客时发现了CDN这个词,作为一个菜鸟的我对这个词一无所知!CDN是啥?它对我们的渗透测试会造成什么样的阻碍?作为一只菜鸟如果遇到新的知识就想着绕过那么永远也只能是一只菜鸟,要对于新的知识无所畏惧,恐惧,排斥,畏惧源于陌生与不了解,当你花时间去了解它的时候,你会发现原来也就这样啊!

首先我们不谈什么是CDN,我们先谈一下它对渗透测试的影响。在渗透测试之我的渗透测试观里我总结过Getshell的路子有三条,Web、主机、社工。社工这条路属于高级玩法,脱离了技术层次暂且不谈,主要谈谈CDN对于主机及Web这两条路的影响。我们知道在互联网中需要通过IP来确定一台主机,如果不知道主机的IP那么渗透测试中主机这条路是根本没有办法走的。作为菜鸟的我最初认为拿到主机IP有什么难度,直接ping一下域名然后看一下IP不就可以了!这种想法在互联网技术如此发达的今天简直不要太幼稚!!CDN技术的存在还真的让你很难找到域名所对应的目标服务器的IP地址。除此之外现在的CDN服务很多都附带提供防火墙服务,那么少年有防火墙环境下的Web渗透你玩的溜吗?
总结下CDN的存在把我们渗透测试的主机这条路给堵死了,把Web这条路堵了一半!嗯?这还怎么玩?当然有的玩了!只不过增加了难度而已!不过话说回来渗透测试的乐趣不就在于攻克一个个难关到最后拿到我们想要的吗?!知己知彼,百战不殆,接下来我们正式的认识下CDN,首先百度词条对它解释如下:

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

CDN图片来自与Baidu词条

百度词条的解释太官方了,接下来结合上面的图片谈一谈我的认识。一些网站由于性能或者技术等方面限制导致在大量用户访问时出现明显的延时从而降低用户体验,为了解决这个问题CDN技术出现了。CDN的主要核心就是分布于世界各地的缓存服务器,这些缓存服务器的功能就是缓存购买了CDN服务的服务器的内容,这样当处于世界各地的用户访问目标网站时就不需要直接访问目标网站对应的服务器而是访问离用户最近的CDN服务器(所以此时的IP其实是缓存服务器的IP)。说白了CDN就是将目标服务器的访问压力分散到缓存服务器。
至于具体的原理我也没了解太多,这里就简单的写一下。

  1. 在浏览网站的时候我们首先需要将域名输入到浏览器的地址栏里然后点击回车,这时浏览器会进行DNS查询(题外话:进行DNS查询主机上hosts文件的优先级大于公网DNS服务器)
  2. 购买了CDN服务的网站在设置自己的DNS解析信息会将CNAME记录设置为CDN服务商DNS服务器(题外话:DNS解析时存在A记录和CNAME记录,A记录对应的是IPv4,CNAME对应的是另一个域名,如果某域名存在A记录则在解析时返回IPv4地址,否则返回CNAME对应的域名)为此在用户通过DNS服务请求解析时DNS服务器将CDN的DNS服务器IP返回给用户
  3. 主机将访问CDN的DNS服务器,DNS服务器将负责全局负载均衡的服务器IP地址返回给用户
  4. CDN全局负载平衡服务器根据用户IP以及请求内容,选择一台用户所属区域的负载平衡设备然后告诉用户向其发起访问。
  5. 区域负载设备一般根据就近原则、请求内容及负载状态会为用户选择一台合适的缓存服务器提供服务。
  6. 用户就向这个缓存服务器发起请求,缓存服务器将内容返回给用户。如果内容不存在缓存服务器会向上逐层请求内容直到源服务器,获取内容后将其缓存并发送给用户。

原来CDN技术设计的初衷真的不是用来防御攻击的,隐藏目标服务器(源服务器)IP地址、提供防火墙服务及防DDoS真的都是副产品。那么回到正题我们如何判别我们的目标是否购买了CDN服务以及如果是的话如果将CDN从我们的渗透道路上扫除呢?
可以借助站长之间的Ping工具判断目标网站是否购买了CDN服务,从多个地点ping目标域名看一下IP地址是否相同,比如对某网站进行ping的时候地址都一样这很大程度上说明没有CDN。

ping如果有CDN我们改如何绕过获得目标服务器的真实IP呢?这些方法网上有很多,比如:

  • ping二级域名,购买CDN服务可是要花钱的,一般不会为二级域名购买
  • 向国外DNS服务器请求目标服务器IP地址,国内很多网站一般都面向国内用户
209.244.0.3
64.6.64.6
8.8.8.8
9.9.9.9
8.26.56.26
199.85.126.10
208.67.222.222
195.46.39.39
69.195.152.204
208.76.50.50
216.146.35.35
37.235.1.174
198.101.242.72
77.88.8.8
91.239.100.100
74.82.42.42
109.69.8.51
156.154.70.1
1.1.1.1
45.77.165.194
# 引自 https://blog.csdn.net/qq_27446553/article/details/81437829

其余方法还有很多网上都有这里就不在赘述了,贴几个连接
如何找到网站真实IP地址
如何绕过CDN找到真实IP
智能自动化渗透中的CDN识别

参考

  1. 经验分享|谈谈渗透测试中的信息搜集
  2. 菜鸟了解Cdn 技术“理解渗透”

问题

  1. whois提供的网段信息是否值得参考
  2. 为什么不可以通过CNAME记录判断是否使用了CDN

猜你喜欢

转载自blog.csdn.net/Blood_Pupil/article/details/88529591
今日推荐