最新绕过目标域名CDN进行信息收集技术

点击星标,即时接收最新推文

46433dc9e8940e17be10977b049870f8.png

本文选自《web安全攻防渗透测试实战指南(第2版)》
五折购买链接:u.jd.com/3ibjeF6

333d8ed28e12f0617cd34364e97aafdd.gif

绕过目标域名CDN进行信息收集

1.CDN简介及工作流程

CDN(Content Delivery Network,内容分发网络)的目的是通过在现有的网络架构中增加一层新的Cache(缓存)层,将网站的内容发布到最接近用户的网络“边缘”的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度,从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因导致的用户访问网站的响应速度慢的问题。

传统的、未使用CDN的网站访问过程如图1-26所示。

33beb564e46c66a673e95b3386b0bcb7.png

图1-26  

具体访问流程如下。

(1)用户输入访问的域名,操作系统向LOCAL DNS查询域名的IP地址。

(2)LOCAL DNS向ROOT DNS查询域名的授权服务器(这里假设LOCAL DNS缓存过期)。

(3)ROOT DNS将域名授权的DNS记录回应给LOCAL DNS。

(4)LOCAL DNS得到域名授权的DNS记录后,继续向域名授权DNS查询目标域名的IP地址。

(5)域名授权DNS查询到域名的IP地址后,回应给LOCAL DNS。

(6)LOCAL DNS将得到的域名IP地址回应给用户端。

(7)用户得到域名IP地址后,访问网站服务器。

(8)网站服务器应答请求,将内容返回给用户端。

使用了CDN的网站访问过程如图1-27所示。

ea5c5396cfc6e578355fabd6069049a5.png

图1-27

具体访问流程如下。

(1)用户输入访问的域名,操作系统向LOCAL DNS查询域名的IP地址。

(2)LOCAL DNS向ROOT DNS查询域名的授权服务器(这里假设LOCAL DNS缓存过期)。

(3)ROOT DNS将域名授权的DNS记录回应给LOCAL DNS。

(4)LOCAL DNS得到域名授权的DNS记录后,继续向域名授权DNS查询目标域名的IP地址。

(5)域名授权DNS查询到域名记录后(一般是CNAME),回应给LOCAL DNS。

(6)LOCAL DNS得到域名记录后,向智能调度DNS查询域名的IP地址。

(7)智能调度DNS根据一定的算法和策略(如静态拓扑、容量等),将最适合的CDN节点IP地址回应给LOCAL DNS。

(8)LOCAL DNS将得到的域名IP地址回应给用户端。

(9)用户得到域名IP地址后,访问网站服务器。

(10)CDN节点服务器应答请求,将内容返回给用户端(缓存服务器在本地进行保存,以备以后使用,同时,把获取的数据返回给用户端,完成数据服务过程)。

2.判断目标是否使用了CDN

(1)手动Ping查询。

通常,会通过Ping目标主域,观察域名的解析情况,以此判断其是否使用了CDN,如图1-28所示。

cf19af0e849380c70aec097b1f5063a1.png

图1-28 

可以看到,在Ping主域名时,请求自动转到了“lst.dtwscachev424.ourwebcdn.com”这个CDN代理上,说明此网站使用CDN服务。

(2)在线查询。

还可以利用一些在线网站进行全国多地区Ping检测操作,然后对比每个地区Ping出的IP地址结果,查看这些IP地址是否一致,如果都是一样的,则极有可能不存在CDN。如果IP地址大多不太一样或者规律性很强,则可以尝试查询这些IP地址的归属地,判断是否存在CDN。这里通过17CE网站对百度主域名进行多地Ping检测,如图1-29所示。

17CE网站使用多地Ping技术,设立不同的监测点收集响应IP地址。如果在多个监测点显示同一个IP地址,那么此IP地址就最有可能为该站的真实IP地址。

常用的多地Ping检测的CDN网站如下。

17CE

Myssl

站长工具

CDNPlanet

66d46876bf9f9902fb9679ab28605397.png

图1-29  

3.绕过CDN,寻找真实IP地址

在确认了目标确实用了CDN后,就需要绕过CDN寻找目标的真实IP地址,下面介绍一些常规的方法。

(1)内部邮箱源。公司内部的邮件系统通常部署在企业内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找邮件头中的邮件服务器域名IP地址,Ping这个邮件服务器的域名,就可以获得目标的真实IP地址(注意,必须是目标自己的邮件服务器,第三方或公共邮件服务器是没有用的)。

(2)扫描网站测试文件,如.phpinfo、.test等,从而找到目标的真实IP地址。

(3)分站域名。因为很多网站主站的访问量比较大,所以主站都是“挂”CDN的。分站可能没有“挂”CDN,可以通过Ping二级域名获取分站IP地址,可能会出现分站和主站不是同一个IP地址但在同一个C段下面的情况,从而判断出目标的真实IP地址段。

(4)国外访问。国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定了。因此,通过国外在线代理网站“App Synthetic Monitor”访问,可能会得到真实IP地址,如图1-30所示。

e267f9e3f79e1b0b099fdceef481fdd5.png

图1-30  

(5)查询域名的解析记录。如果目标网站之前并没有使用过CDN,则可以通过网站Netcraft查询域名的IP地址历史记录,大致分析出目标的真实IP地址段。

(6)如果目标网站有自己的App,则可以尝试利用Fiddler或Burp Suite抓取App的请求,从里面找到目标的真实IP地址。

(7)绕过“Cloudflare CDN”查找真实IP地址。现在很多网站都使用Cloudflare提供的CDN服务,在确定了目标网站使用CDN后,可以先尝试通过网站“CloudflareWatch”对目标网站进行真实IP地址查询,结果如图1-31所示。

图中列出了域名直连的IP地址,并且给出了“lookup”的历史解析(Previous lookups for this domain)的IP地址。读者可以将以上几种手段结合起来使用,最终筛选出需要查询的域名的真实IP地址。

1d36e146b87893e4b9b18e9146f4c337.png

图1-31  

4.验证获取的IP地址

找到目标的真实IP地址后,如何验证其真实性呢?

(1)如果是Web网站,那么最简单的验证方法是直接尝试用IP地址访问,看看响应的页面是不是和访问域名返回的一样。

(2)在目标段比较大的情况下,借助类似Masscan、Nmap等端口扫描工具批量扫描对应IP地址段中所有开了80、443、8080端口的IP地址,然后逐个尝试IP地址访问,观察响应结果是否为目标网站。如果目标绑定了域名,那么直接访问是访问不到的。这时,需要在Burp Suite中修改header头Host:192.xxx.xxx.xxx,或使用其他方法指定Host进行访问。

—  实验室旗下直播培训课程  —

a7aca8f16de3b6f7a8dbfbe4e46b72e0.png

5dc706b3109c03ac08e40e1c6fac2290.jpeg

057656047e2c3d9b53b1a39fbee43d48.jpegf0b63fa6022322f92012f2c771398454.png

ff7f35937584e1084eb1ef083525cd3b.jpeg

384323b67e651edcdb1b4e82d023ff63.jpeg

2134f7521e0085167503f2527d7947fb.jpeg

ce1b90a038429389bd854f3ec96e2ca9.jpeg

514995f633744a96d6a29033624a30de.jpeg


和20000+位同学加入MS08067一起学习

6c0efee8937a182b736b4a9c61f570e3.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值