众所周知,当网站或APP使用CDN后,会隐藏源站IP地址,一定程度上增加了黑客攻击的难度。有时候,我们要做渗透测试,也会受到CDN虚假IP的干扰,怎么找到网站的真实IP呢?
判断网站是否使用CDN
由于网站开启CDN后,一些内容会被缓存到云服务提供商的CDN节点上,用户就近获得网站内容,因此不同地点的用户,访问的CDN节点也会不同。
所以要判断目标网站是否开启了CDN,方法很简单,只要在不同地区ping下网址即可。例如要确定百度是否使用CDN,只需在杭州ping下,在北京ping下,两者IP不同,则可以判定百度使用了CDN。
当然,像百度这种大流量的网站,不必ping也知道,肯定使用了CDN加速。甚至直接问度娘“百度的IP地址是多少”都能直接得到结果。
所以,我们这里研究对象是中小型网站,不清楚目标网站是否使用CDN的情况下。
二级域名法
出于节省成本、流量较低等原因,大多数网站不会对全站内容进行加速,特别是二级域名,加速的更少。通过二级域名,可以寻找到目标网站的真实IP。
首先利用站长工具,查询目标网站是否存在二级域名,再利用ping的方法,判断该二级域名是否使用了CDN。
找到没有使用CDN的二级域名后,通过修改host文件的方式,将目标域名绑定到同一个ip上。
如果能正常访问,说明该二级域名和目标网站使用的是同一服务器,ping后即可得到真实IP。
如果不能正常访问,说明两者所使用的服务器不同,但可能在同C段,扫描C段所有开80端口的IP,逐一尝试。
nslookup法
一些小的云服务提供商,不像蔚可云这样,有海外加速服务,他们只针对国内市场。所以只需用DOS命令,大概率会解析到真实IP地址。
DOS命令:
- nslookup www.xxxx.com 8.8.8.8
查询历史解析记录
网站使用CDN之前的IP地址,往往就是真实的IP地址。使用域名历史解析记录查询工具,查询该域名的历史解析记录,很大概率可以查到真实的IP地址。
除了以上三种方式,还有一些方法可以查到网站的真实IP地址,而且都不难。其实CDN最大的作用,是给网站“提速”,提高用户浏览网站的体验,节省网站服务器资源和成本。如果要保护网站安全,还是需要使用SSL证书、WAF等产品。