07:信息收集-CDN绕过技术

  CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。但在安全测试过程中,若目标存在CDN服务,将会影响到后续的安全测试过程。

1、如何判断目标存在CDN服务?

利用多节点技术进行请求返回判断:如果ping的结果只有一个IP,就没有CDN;若是不止一个IP,则有CDN。

  • http://ping.chinaz.com/
  • http://ping.aizhan.com/
  • http://ce.cloud.360.cn/

尝试超级ping小迪的网站,发现返回结果都是一样的IP,说明该网站没有开通CDN服务。

尝试超级ping优酷网站,发现返回结果是不一样的IP,说明在不同地点访问该网站时,响应的节点是不一样的。该网站开通了CDN服务。

2、CDN对于安全测试有哪些影响?

cdn会隐藏服务器真实的ip地址,无法对目标网站的操作系统进行渗透,但cdn站点又可以理解为是目标站点的镜像站点(大多数都是静态cdn加速),拥有相同的网站架构,且cdn服务器可与站点服务器进行交互,因此sql注入,xss等漏洞的挖掘并不受太大影响。

3、目前常见的CDN绕过技术有哪些?

1.子域名查询:因为有些主站是做了CDN服务而子站是没有做CDN服务(节约成功)

一般子站部署时,有3种情况,

  • 一是跟主站相同IP,此时我们知道了子站IP,相当于知道了主站IP;
  • 二是跟主站IP不同,但是网段相同,此时可以扫描相同网段是否存活其他主机,大概率就是主站IP。比如192.168.1.100是子站IP,那么就扫描1-254网段判断;
  • 三是子站IP和主站IP完全没有关系,此种情况我们无法判断,暂不考虑。

2.邮件服务查询:因为邮箱大部分都是内部人在访问,而且访问的量也不是很大,一般是没有做CDN。

3.国外地址请求:因为很多的企业没有在国外部署CDN,要是用国外的地址请求,就容易找到他的真实地址。

4.遗留文件:如PHPinfo信息当中会遗留出ip地址,这个可能就是真实IP。

5.扫描全网

通过ping检测,扫描全网,找到所有的IP地址,其中一个可能就是真正的IP,通过分析找到真实IP。

比如某服务器部署在武汉,那么他在其他省市部署了CDN,但是为了节约成本等,可能在武汉就没有部署CDN,那么在武汉访问到的IP就是真实IP。

6.黑暗引擎搜索特定文件:fofa、shodan、zoomeye、censys、谛听

7.dns历史记录

有些网站可能一开始没有部署CDN,是后来才部署的CDN,那么在dns历史记录里就有可能存在解析为真实IP的记录。

8.以量打量:就是DDOS攻击,或者说流量耗尽攻击(不推荐,违法)

比如一个CDN节点的流量是100M,当短时间内发起大量请求时,会消耗掉该节点的全部流量,此时再访问网站,访问的可能就是真实IP。

9.第三方接口:https://get-site-ip.com,不一定准确,仅供参考

10.全网扫描工具:fackcdn w8fuckcdn zmap ,结果需要自己判断,有误报率

4、CDN真实IP地址获取后绑定指向地址

找到CND真实IP地址后,更改本地HOSTS解析指向文件

此时使用真实IP访问网站,成功。

5、演示案例

1.利用子域名请求获取真实IP

以学而思为例,利用子域名上的小技巧

超级ping一下www.xueersi.com,有50个IP;

超级ping一下xueersi.com,只有一个IP,也就是真实IP。

原理解释:

一般配置网站域名时,大部分人会进行如下配置

这里有2条记录:

  • 第一条表示,xiaodi8.com指向47.75.212.155;
  • 第二条表示,www.xiaodi8.com也指向47.75.212.155;

这就意味着,当你在浏览器中访问xiaodi8.com和www.xiaodi8.com时,返回的内容是一样的。

但是,当给网站配置CDN时,大部分人会直接给第一条记录www.xiaodi8.com配置CDN,而漏掉了第二条记录xiaodi8.com。

因此当你超级ping www.xiaodi8.com时,会出现多个IP,超级ping xiaodi8.com时,仅出现一个IP,也就是真实IP。

子域名查询工具

2.利用国外地址请求获取真实IP

如下图所示,http://ping.chinaz.com/ 网站ping检测时也有一些国外地址,但是这些地址一般都离中国比较近或者比较发达,很多大型网站也很有可能在这些国家部署CDN,因此我们需要找一些比较偏的国外地址。

比如使用下面这个网站

或者这个网站 https://tools.ipip.net/cdn.php

也可以使用国外的VPN,多ping几个试一试(不推荐,网络非常卡,节点也少)

3.利用第三方接口查询获取真实IP

(1)https://get-site-ip.com,直接查询IP,不一定准确,仅供参考

(2)查看DNS历史记录

http://toolbar.netcraft.com/site_report?url=

http://www.17ce.com/

https://community.riskiq.com/

http://www.crimeflare.com/cfssl.html

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

https://viewdns.info/iphistory/?domain=

http://www.jsons.cn/nslookup/

https://dnsdumpster.com/

https://x.threatbook.cn,可以查看DNS历史记录,现在看不到了

https://securitytrails.com/domain/baidu.com/history/a,这个网站也可以查看DNS历史记录(网站可能以前没有部署DNS,当时用的可能就是真实IP)

(3)网站地址前面加个m,一般表明这个网站面向的是手机移动应用,虽然界面与原网站不同,但是内容差不多。(手机和PC看到的网站内容相同,但是域名不同)

4.利用邮件服务器接口获取真实IP

邮件源码测试对比第三方查询(地区分析)

以墨者学院为例,收到一封邮件如下

查看原始信息,找到真实IP(大概率是)

再用第三方接口查询确认一下,发现两个IP不一致

继续分析,网站底部显示该网站是在重庆备案

而邮件查出的IP是在重庆,第三方接口查出的IP是在宜昌,显然邮件查出的IP更有可能是真实IP

5.利用黑暗引擎搜索特定文件获取真实IP

v23gg 黑暗引擎(shodan搜指定hash文件)

先python脚本生成指定文件hash值

然后shadon搜索

6、涉及资源

渗透测试实用操作,用这11种方法获取到真实IP
https://baijiahao.baidu.com/s?id=1711134463016567217&wfr=spider&for=pc

posted @ 2023-04-26 12:39  zhengna  阅读(528)  评论(0编辑  收藏  举报