信息打点-CDN绕过

目录

知识点

1、CDN知识-工作原理及阻碍

2、 CDN配置-域名&区域&类型

3、前置知识

4、CDN绕过-十种方法

5、CDN绑定HOSTS

案例演示

案例1-利用网站漏洞:

案例2-子域名

案例3-接口国外访问

案例4-邮件服务查询

案例5-FuckCDN

总结:


知识点

1、CDN知识-工作原理及阻碍

CDN:CDN是内容分发网络,使用户就近获取所需内容,降低网络堵塞,提高用户访问响应速度和命中率,CDN的关键技术是内容存储和分发技术。 

通俗理解CDN:简单来说可以理解为A与C相隔很远,A访问C时速度肯定会较慢,那么如果在A和C中间添加一个B,而在B里面存在C信息的缓存,那么A只要访问距离自己B就可以较快的访问到C的数据。

CDN阻碍:在进行渗透测试时有可能测试的只是一个cdn节点服务器,无法获取真实服务器的数据。

2、 CDN配置-域名&区域&类型

加速域名:当某IP地址下的某个域名被加速,那么当用户访问时该域名时,它就是被加速访问的,存在cdn缓存中。

业务类型:服务器中被加速的资源。三种加速类型:页面加速、大文件下载加速,视频点播加速。也可以进行全站加速。

加速区域:指定特定的区域进行加速,加速效果只在区域内有效。

3、前置知识

1.传统访问:用户访问域名–>解析服务器IP–>访问目标主机

2.普通CDN:用户访问域名–>CDN节点–>真实服务器IP–>访问目标主机

3.带WAF的CDN:用户访问域名–>CDN节点(WAF)–>真实服务器IP–>访问目标主机

4、CDN绕过-十种方法

1、子域名:某些企业业务线较多,有些站点的主站或者部分域名使用了CDN加速,但是一些子域名并未使用加速服务,那么就可以通过子域名获取目标的真实IP。

2、利用网站漏洞:利用网站的漏洞让目标服务器去访问我们自己设置的资源,因为是目标主动出来访问,所以很大概率获取的是真实IP。

3、历史DNS记录:在目标域名还没有使用DNS的时候,有可能通过历史记录会查询到真实IP。

4、CDN本身入手:得到控制面板的账号密码,从而获取IP就容易许多。

5、邮件服务查询:站点一般都存在发送邮件的功能,一般邮件都是在内部,也有经过CDN解析,可能在邮件的源码里就包含服务器的真实IP。

6、国外请求:如果域名配置DNS加速区域时,没有配置国外或存在没配置的区域,那么可以在国外或者没配置的区域里访问域名,这样不会受到CDN加速服务的干扰同时可以访问到真实的IP。

7、探测扫描:利用fuckcdn工具

8、需要找 xiaix.me 网站的真实 IP,我们首先从 apnic 获取 IP 段,然后使用 Zmap 的 banner-grab 扫描出来 80 端口开放的主机进行 banner 抓取,最后在 http-req 中的 Host 写 xiaix.me。

9、网络空间引擎搜索法:常见的有以前的钟馗之眼,shodanfofa。以fofa为例,只需输入:title:“网站的title关键字”或者body:“网站的body特征”就可以找出fofa收录的有这些关键字的ip域名,很多时候能获取网站的真实ip。

10、访问phpinfo.php:当服务器存在某种漏洞时,例如:文件上传,XSS等,可以利用漏洞去访问phpinfo.php文件,在下面会发现IP地址。通过百度查看IP地址是否是本地局域网,如果是区域网则证明目标有多个网卡获取的是内网IP,如果不是则成功发现真实IP。因为是通过内部文件发现的IP,所以属于反向链接。(该方法适用于没有内网网卡的服务器)

5、CDN绑定HOSTS

绑定之后在对页面进行安全测试就能预防CDN,这样就可以正常进行渗透测试

Windows:C:\Windows\System32\drivers\etc\hosts

Linux: /etc/hosts

案例演示

案例1-利用网站漏洞:

该方法利用的网站的ssrf漏洞,利用服务器存在的ssrf漏洞去访问我们设置好的资源,因为是服务器内部向外部访问,所以获取IP为真实IP。

SSRF漏洞简单介绍:ssrf(服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。攻击目标通常是从外网无妨访问到内部系统的服务器。正是因为是由服务器发起的,所以它能够请求到与它相连而与外网隔离的内部系统。ssrf漏洞可以利用服务器去加载网上的图片,那么该案例就可以利用ssrf漏洞去访问我们自己的服务器。

该网页目前就是存在ssrf漏洞

在我们自己的服务器上利用python开启一个http服务并且绑定自己的8000端口

 在页面中尝试利用ssrf漏洞访问我们自己的服务器IP

当点击提交时,在我们的服务器就会接收到目标IP地址。因为是目标服务器主动访问我们,那么就不存在CDN。

案例2-子域名

该案例使用的是一个真实的网站sp910.com

利用超级ping来查询该网页是否存在cdn(超级ping:https://ping.chinaz.com

通过ping出的信息可以看到同一个域名不同地区的IP地址并不一样,所以可以证明该网页存在cdn

在设置cdn时,如果加速域名设置了www.xxx.com,那么只会有该域名进行加速。如果设置的为*.xxx.com,那么所有xxx.com的域名无论开头是什么都会进行加速。

同时可以猜想一下,当访问百度时www.baidu.com与baidu.com是同一个页面,证明baidu.com是www.baidu.com的子域名。

在该实验中也可以尝试相同的方法访问子域名,那么就可以使用超级ping去ping sp910.com这个子域名可以发现所有的IP都相同,那么证明它的子域名不存在cdn同时获取了真实IP。

​ 

案例3-接口国外访问

该实验的测试IP为 www.xuexila.com,依旧进行超级ping,查看是否存在cdn

 通过ping出的结果发现确实存在cdn

那么可以利用国外访问,使用一个偏远的国家地址对域名进行访问由此发现可以获取真实IP

国外访问地址:https://tools.ipip.net/cdn.php

案例4-邮件服务查询

该案例使用的www.mozhe.cn平台

原理:利用墨者的找回面功能向我们发送邮件,因为邮件目标服务器主动向我们发送的,所以不存在CDN节点。

首先利用墨者的忘记密码功能给我们发送邮件

 

登录邮箱点击右面的下拉菜单并点击显示原文

 

在原文中获取真实IP

 

案例5-FuckCDN

 工具下载: https://github.com/Tai7sy/fuckcdn

先配置fuckcdn-master中的set.ini文件,配置域名和关键字(可以简单理解为页面代码中存在的关键字)

 

 在ip.txt文件中配置ip地址的范围,通过百度搜索域名查询和备案信息  查询属于哪个平台,在通过平台查询IP范围(实在不知道可以直接0.0.0.0  255.255.255.255)

 

 打开fuckcdn.exe并在Scan url出写入域名

通过本机的cmd获取本地访问该域名的ip地址并写入工具中,端口为80

 

 

开始运行工具,出现The config works well时代表配置成功

 

 点击弹窗的确定开始运行

当出现All tasks that have ended时代表所有工作已经完成,运行结束 

然后我们会发现多出一个result_ip.txt文件,里面存放着ip地址

 

 

总结:

本次cdn绕过的讲解结束,因为案例有限,所以无法把每种方法都进行一次演示,在这里也给大家推荐两个参考页面,希望我的文章和网页可以帮助到大家。如果有哪里讲的不对的地方,希望各位大佬可以多多指导。

参考页面:

https://zhuanlan.zhihu.com/p/33440472

https://www.cnblogs.com/blacksunny/p/5771827.htm

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值