CDN绕过
阅读原文时间:2023年07月11日阅读:1

信息收集_CDN绕过

​ CDN全称是内容分发网络(content delivery network)。其目的是让用户能够更快速的得到请求的数据。

​ 网上找了一张图片,拿腾讯举例 用户想要访问腾讯的官网去冲QB,首先计算机想要知道向哪个ip发起请求(计算机之间的通信靠的是ip而不是url),所以需要dns请求将域名转成ip。首先请求的是LDNS本地dns服务器(在这里忽略本机的缓存),LDNS查看本地缓存是否存在响应记录,如果有就直接返回ip,如果没有就将域名解析请求发送至腾讯DNS调度系统,并将调度系统分配的最佳节点IP地址返回给用户,同时也将最佳的节点ip-域名的记录缓存到本地DNS服务器,这时候用户发起请求其实并不是给腾讯自家服务器发请求 而是向某个CDN发的请求。

​ 用户经常访问的静态数据资源(例如 html,css,js,图片等文件)直接缓存到某CDN节点上,当用户需要某些数据或者进行某些逻辑操作,这时候才会转发到真正的服务器上。访问一个网站不用加载很久,这样就大大的提高了进冲QB网站的速度。

​ 所以如果没有分辨出真实服务器与CDN,将会导致后续的渗透测试全都测试到CDN服务器上!!!同时要注意找到目标真实的ip之后不要进行DDOS攻击,也不要尝试对它们开放的高危端口进行攻击

如何判断是否存在CDN?

方式一 http://ping.chinaz.com https://wepcc.com 这两个网站可以多地ping测试

这里举两个例子www.cuit.edu.cn、www.jd.com

上面两个结果很明显cuit.edu.cn 无CDN,京东绿油油一大片 有CDN

原理:CDN的主要目的是将内容分发到网络,所以如果目标网站使用了CDN,那么在不同的地理位置去ping网站域名所得到的ip一定是不一样的!!!

方式二 nslookup

beginner@beginner-virtual-machine:~$ nslookup www.cuit.edu.cn
Server:        127.0.0.53
Address:    127.0.0.53#53

Non-authoritative answer:
Name:    www.cuit.edu.cn
Address: 210.41.224.132
Name:    www.cuit.edu.cn
Address: 2001:250:2004:224::132

=======================================================================================

beginner@beginner-virtual-machine:~$ nslookup www.jd.com
Server:        127.0.0.53
Address:    127.0.0.53#53

Non-authoritative answer:
www.jd.com    canonical name = www.jd.com.gslb.qianxun.com.
www.jd.com.gslb.qianxun.com    canonical name = www.jdcdn.com.
www.jdcdn.com    canonical name = img20.360buyimg.com.s.galileo.jcloud-cdn.com.
img20.360buyimg.com.s.galileo.jcloud-cdn.com    canonical name = img2x-sched.jcloud-cdn.com.
Name:    img2x-sched.jcloud-cdn.com
Address: 60.9.5.3

自家学校网站nslookup很直接 没有CDN;下面京东的结果--->jcloud-cdn

方法一、通过邮箱

如果目标网站有邮箱服务 该网站主动给我们发邮件 那我们就很可能得知真正的服务器ip(大多数情况下邮件服务系统 都是部署在公司内部 没有CDN),我们查看邮件的原始版本就可以获取服务器的ip。(当你注册或者修改密码的时候很多网站都会发邮件的!当然除了这种情况外还有其他主动给我们发邮件的情况)

我们重置密码网易会给我们发一封邮件然后导出邮件查看原始版本

下面是导出的文件内容 第一行就包含了服务器的ip信息

Received: from urs-virt7-mail-server1.dg.163.org (unknown [59.111.178.141])
    by trans1 (Coremail) with SMTP id gMCowADn83niRVRhC9uCEA--.26066S2;
    Wed, 29 Sep 2021 18:54:26 +0800 (CST)
From: =?gb2312?B?zfjS19XKusXW0NDEIA==?= <passport@service.netease.com>
To: $$$$$$$$$$
Message-ID: <1696392617.20477267.1632912866976.JavaMail.appuser@urs-virt7-mail-server1.dg.163.org>
Subject: =?gb2312?B?1tjWw7PJuaY=?=
MIME-Version: 1.0
Content-Type: text/html;charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Netease-Folder: INBOX
X-CM-TRANSID:gMCowADn83niRVRhC9uCEA--.26066S2
X-Coremail-Antispam: 1Uf129KBjDUn29KB7ZKAUJUUUb5529EdanIXcx71UUUUU7v73
    VFW2AGmfu7bjvjm3AaLaJ3UbIYCTnIWIevJa73UjIFyTuYvjxUk4SrUUUUU
X-Originating-IP: [59.111.178.141]
Date: Wed, 29 Sep 2021 18:54:26 +0800 (CST)
略......

如果你常用的是qq邮箱查看邮件源文件的方式会更简单一些,接着拿steam举例

方法二、查子域名

CDN并不便宜,目标网站可能只有主站(www.xxx.com)和流量较大的子站(hub.xxx.com)购买了CDN,可能有很多小站(mail.xxx.com)和前者分布在同一个机器或者C段网段内,这样我们可能猜解出网站的真实ip

  • 例如子域名挖掘机、子域名搜索器等等等其他工具搜索

拿网易举例,先通过百度 site:163.com 然后找看起来冷门的,然后交给http://ping.chinaz.com 去判断是否有CDN,经过筛选可能推断出53.111.0.0/16 可能是网易的一部分内网

jubao.aq.163.com  59.111.160.194
8.163.com         59.111.18.135
wowui.w.163.com   42.186.69.197
campus.163.com    59.111.160.244

然后钟馗之眼去判断 发现大批ip都有NetEase(网易)和163等字眼 ok~~~

方法三 查看域名的历史解析记录

当目标网站的域名使用时间较长,可能在目标网站刚出现的时候并没用绑定CDN的服务,那么在DNS服务器的历史解析记录就可能存在 真实的ip地址

https://dnsdb.io/zh-cn/

http://viewdns.info/iphistory/

方法四 通过历史的NS服务器来解析域名

NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个D_NS服务器_来进行解析

https://whoisrequest.com/history/

方法五 使用shodan

这里需要登录才能进行过滤搜索这里我们就不登录了

shodan常用语法

hostname:搜索指定的主机或域名。例如,hostname:"google"
port:搜索指定的端口或服务。例如, port:"21"
country:搜索指定的国家。例如, country:"CN"
city:搜索指定的城市。例如,city:"Hefei"
org:搜索指定的组织或公司。例如,org:"google"
isp:搜索指定的ISP供应商。例如, isp:"China Telecom"
product:搜索指定的操作系统/软件/平台。例如, product:"Apache httpd"
version:搜索指定的软件版本。例如, version:"1.6.2"
geo:搜索指定的地理位置,参数为经纬度。例如, geo:"31.8639,117.2808"
before/after:搜索指定收录时间前后的数据,格式为 dd-mm-yy。例如, before:"11-09-19"
net:搜索指定的IP地址或子网。例如,net:"210.45.240.0/24"

方法六 使用FOFA

方法还有很多例如从国外访问、使用Censys搜索证书等等,每种方法都有它的局限性,以上几种方法综合起来使用效果可能会更好哦

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章