信息打点-几种常见的CDN绕过方式
CDN前置知识
工作原理及阻碍
CDN:Content Delivery Network,内容分发网络,其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定,通俗来说,就是在自己主机和服务器之间找一个就近点,这个就近点存储着服务器的访问资源,相当于缓存,在访问服务器时会定向到临近主机,以加快访问速度
CDN阻碍:在进行渗透测试的时候可能测试的是一个CDN节点服务器,无法获取真实服务器的数据
CDN配置
加速域名:当某IP地址下的某个域名被加速,那么当用户访问该域名时,它就是被加速访问的,对于其他子域名,就不是加速访问的
业务类型:服务器中被加速的资源。分为页面加速、大文件下载加速,视频点播加速和全站加速;当选择特定的加速服务时,我们可以通过访问其他未被加速的资源,来找到真实的IP地址
加速区域:指定区域进行加速,加速效果只在区域内有效,阿里云有中国境内加速,全球加速,全球加速(除中国境内)三种加速区域
CDN类型
1.传统访问:用户访问域名—->解析服务器IP—->访问目标主机
2.普通CDN:用户访问域名—->CDN节点—->真实服务器IP—->访问目标主机
3.带WAF的CDN:用户访问域名—->CDN结点(WAF)—->真实服务器IP—->访问目标主机
CDN绕过方式
phpinfo泄露
在域名后面直接加/phpinfo.php
,如果存在该php文件,它会显示服务器的一些配置信息,包括IP地址。需要注意的是,phpinfo.php
中的IP地址是主机本地的IP地址,也就是说可能是内网IP,也可能是外网IP,也不排除目标主机有多个网卡
利用漏洞绕过CDN(例如SSRF漏洞)
该方法利用网站的SSRF漏洞,利用服务器的漏洞去访问我们设置好的资源,让服务器对我们进行一个主动连接。以获取真实的IP
SSRF漏洞简介 |
相关案例:利用SSRF漏洞获取真实IP
让目标服务器访问我们的网站,并在自己的服务器上进行监听
点击提交后,自己的服务器可以监听到相关请求
获取的47.75.212.155
即为我们想要获得的真实IP
利用子域名
某些企业业务线比较多,有些站点的主站甚至部分域名使用了CDN加速,但是一些子域名并未使用加速服务,那么就可以通过子域名去获取目标的真实IP
以下是相关真实案例:www.sp910.com
先使用超级ping来查询是否存在CDN
很显然,是开启了CDN加速服务的,在设置CDN的时候,如果加速域名设置了www.xxx.com
,就会只对该域名加速,如果设置的是*.xxx.com
,那么所有xxx.com
下的子域名都会被加速,对于这个案例,我们可以验证一下sp910.com
,看是否对该子域名进行了加速
我们可以看到,所有的ip地址都一样,所以sp910.com
并没有被加速,且203.107.44.133
为该网站的真实IP
接口国外访问
针对某些网站开了CDN服务,但是只开了中国内地加速,这个时候可以选择通过国外的接口网站进行访问,可以查到真实的IP
相关案例:www.xuexila.com
,依旧进行超级ping,观察是否有CDN
从结果观察,是存在CDN的,这个时候我们找一个国外结点进行访问(最后找非洲不知名国家,一般的都不会在那里开CDN加速服务)
国外访问地址:全球 CDN 服务商查询_专业精准的IP库服务商_IPIP
注意,测试出来的不一定真的为真实IP,还需要综合社工进行判断,所有的方法测出来的都不一定完全正确
还有一种比较抽象的方法,这个网站可以直接返回真实IP,但是不保真,可以拿来做验证,Get Site IP - Find IP Address and location from any URL (get-site-ip.com)
邮件服务查询
通过网站的找回密码功能让服务器主动给我们发送相关邮件,我们通过邮件获取真实IP
相关案例:www.mozhe.cn
通过找回密码,让服务器给我们发送相关邮件
点击显示原文,在原文中获取真实IP
全网段扫描-FuckCDN
工具下载:https://github.com/Tai7sy/fuckcdn
我们仍然使用www.xuexila.com
进行测试,首先先配置set.ini
文件,将FindUrl
改成我们需要测试的url,FindStr填写为网页关键字,如下图所示
在ip.txt
文件中配置ip地址的范围,通过百度搜索域名查询和备案信息 查询属于哪个平台,在通过平台查询IP范围(实在不知道可以直接0.0.0.0 255.255.255.255
全网的扫描
打开fuckcdn.exe并在Scan url出写入域名
通过本机的cmd获取本地访问该域名的ip地址并写入工具中,端口为80
开始运行工具,如下图所示则表示运行成功
最后会生成一个result_ip的txt文件,里面存放着真实的IP地址
还是好多,说明源主机可能不只一个(好歹是个运行了20年的大站)
CDN绑定
最后将获得的真实IP和我们的域名绑定在一起,以方便后面的渗透测试,使得我们进行访问域名的时候,不使用其提供的缓存,而是直接访问主机
hosts地址: C:\Windows\System32\drivers\etc |