信息收集-CND绕过
CDN的全称是Content Delivery Network,即内容分发网络。使用户就近访问所需内容,降低网络拥堵,提高用户访问响应速度和命中率。
如下图,就是CDN组成图
如何判定目标存在CDN服务?
利用多节点技术进行请求返回判断(超级ping检测)
这里以百度为例,地方服务器请求它的网站,返回的ip不一致,这就说明,网站存在CDN,反之,多地发出请求,返回ip一致,则不存在CDN。
#CDN对安全测试有哪些影响?
得到的ip不是目标网站的源ip,而是缓存节点的ip。
#常见的CDN绕过技术
子域名查询邮件服务查询国外地址请求遗留文件,扫描全网黑暗引擎搜索特定文件DNS历史记录,以量打量APP抓包配置不当导致真实ip泄露
各方法使用方法简介及技巧
#子域名查询****
主站开启CDN,但是子域名可能不会,因为一些子域名网站访问量较少,从经济角度出发,没必要花钱,所以我们可以通过扫描子域名查到网站真实ip(前提:主站和子域名处于同一ip,或者同一网段)。
#邮箱查服务器ip
邮件服务器是主动向外发送信息的,因此不可能通过cdn,所以如果邮件服务器和我们要找的网站在同一个网段的话,那我们就能测试出来了。
这里以一个app给我发送的邮箱为例:
这样我们就得到了它的IP地址,当然只是可能,接下来需要自己进一步验证。
#国外地址请求
只对国内访问用户开设CDN节点,但是对国外访问的用户不会,或者是对常见外国地区开设节点,但是对过于偏远的地区不会开设CDN,例如非洲等等地方。(经济成本原因)
工具地址:https://get-site-ip.com/ http://asm.ca.com/
#遗留文件(泄露文件)****
例如phpinfo重点信息
#全网扫描利用工具(没办法的办法)
-
https://github.com/3xp10it/xcdnhttps://github.com/boy-hack/w8fuckcdn
其他工具:fuckcdn,w8fuckcdn,zmap(对电脑配置及带宽要求较高),这些自行测试哦
把所有请求后得到的ip地址整合,推断网站真实ip
#黑暗搜索引擎搜特定文件
shodan,zoomeye,fofa等
搜索网站hash寻找对应ip
#DNS历史记录****
一般网站从部署开始到使用cdn都有一个过程,周期如果较长的话 则可以通过这类 历史解析记录查询等方式获取源站ip,查看IP与域名绑定的历史记录,可能会存在使用CDN前的记录。
全世界DNS地址:http://www.ab173.com/dns/dns_world.phphttps://dnsdumpster.com/https://dnshistory.org/http://whoisrequest.com/history/https://completedns.com/dns-history/http://dnstrails.com/https://who.is/domain-history/http://research.domaintools.com/research/hosting-history/http://site.ip138.com/http://viewdns.info/iphistory/https://dnsdb.io/zh-cn/https://www.virustotal.com/https://x.threatbook.cn/http://viewdns.info/http://www.17ce.com/http://toolbar.netcraft.com/site_report?url=https://tools.ipip.net/cdn.php
#流量消耗(DDOS等)
一般DNS服务都是按浏览计算,一旦流量耗尽,经受不住大流量冲击的时候可能会显示真实ip。(随口一提,属于违法攻击,会喝茶)
#APP抓包****
如果网站有APP,使用Fiddler或Burp Suite抓取APP请求,从中找到真实IP。
#服务器配置问题****
在配置CDN的时候,需要指定域名、端口等信息,有时候小小的配置细节就容易导致CDN防护被绕过。
案例1:为了方便用户访问,我们常常将www.xueersi.com和 xueersi.com解析到同一个站点,而CDN只配置了www.xueersi.com,通过访问xueersi.com,就可以绕过 CDN 了。
案例2:站点同时支持http和https访问,CDN只配置 https协议,那么这时访问http就可以轻易绕过。
绕过CDN设置流程
根据上面方法我们就可能找到网站的真实ip地址,找到真实ip之后,与hosts文件绑定,实现能够直接用ip或域名访问目标真实服务器。
原理:
电脑在进行DNS请求以前,系统会先检查自己的Hosts文件中,是否有这个地址映射关系,如果有则调用这个IP地址映射,如果没有再向已知的DNS服务器提出域名解析。
所以Hosts文件是用来提高解析效率的。
也可以理解为,Hosts的请求级别比DNS高,当Hosts文件里面有对应的IP时,它会直接访问那个IP,而不通过DNS。
hosts文件路径C:\Windows\System32\drivers\etc\hosts
这样就可以绕过CDN直接访问网站源ip了,接下来就可以直接对网站进行渗透测试了。
(注:如果修改host后,去访问网站,网站打不开,特别慢等等问题,说明找到的不是真实ip 需要再次绕过寻找)。