在渗透测试过程中,经常会碰到网站有CDN的情况。CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。说的简单点,就是一组在不同运营商之间的对接点上的高速缓存服务器,把用户经常访问的静态数据资源直接缓存到节点服务器上,当用户再次请求时,会直接分发到离用户近的节点服务器上响应给用户,当用户有实际数据交互时才会从远程Web服务器上响应,这样可以大大提高网站的响应速度及用户体验。使用CDN的另一个好处就是可以隐藏真实的服务器ip,当我们ping目标域名,得到的ip地址是离我们最近一台目标节点的CDN服务器的ip地址。
所以为了接下来的信息收集,我们必须查找出网站的真实ip地址。
查询域名相关的网站:
- DNS查询:https://dnsdb.io/zh-cn/
- 微步在线:https://x.threatbook.cn/
- 在线域名信息查询:http://toolbar.netcraft.com/site_report?url=
- DNS、IP等查询:http://viewdns.info/
- CDN查询IP:https://tools.ipip.net/cdn.php
- SecurityTrails平台:https://securitytrails.com/domain/www.baidu.com/history/a
如何判断网站是否有CDN?
很简单,使用不同地方的 ping 服务,查看对应 IP 地址是否唯一,如果不唯一则极有可能是使用了CDN
ping测试网站有:
绕过CDN查找网站真实ip
(1)内部邮箱源:一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件,寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实IP(必须是目标自己的邮件服务器,第三方或者公共邮件服务器是没有用的)。
(2)查看域名历史解析记录:也许目标很久之前没有使用CDN,所以可能会存在使用 CDN 前的记录。所以可以通过网站https://www.netcraft.com 来观察域名的IP历史记录。
(3)查询子域名:毕竟 CDN 还是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP。传送门——> 子域名信息查询
(4)国外访问:国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定了。因此,通过国外在线代理网站https://asm.ca.com/en/ping.php 访问 ,可能会得到真实的ip地址。
参考文章:11种绕过CDN查找真实ip的方法