绕过cdn查找真实IP

在渗透测试过程中,目标服务器可能只有一个域名。如果目标服务器不存在CDN,可以直接通过www.ip138.com获取目标的一些IP及域名信息。

如果存在CDN如何绕过,获取到目标服务器的真实IP?

1、目标服务器存在CDN

  CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能底下的问题。说的简单点,就是一组在不同运营商之间的对接节点上的高速缓存服务器,吧用户经常访问的静态数据资源(例如静态的html、css、js图片等文件)直接缓存到节点服务器上,当用户再次请求时,会直接分发到离用户近的节点服务器上响应给用户,当用户有实际数据交互时才会从远程Web服务器上响应,这样可以大大提高网站的响应速度及用户体验。

  如果渗透目标购买了CDN服务,可以直接ping目标的域名,但得到的并非真正的目标Web服务器,只是离我们最近的一台目标节点的CDN服务器,这就导致了我们无法直接得到目标的真实IP段范围。

2、判断目标是否使用了CDN

  通常会通过ping目标主域,观察域名的解析情况,以此来判断其是否使用了CDN。

  还可以通过在线网站17CE(https://www.17ce.com)(TK教主前几天微博刚出了一道对应的题目)进行全国多地区的ping服务器操作,然后对比每个地区ping出的IP结果,查看这些IP是否一致,如果都是一样的,极有可能不存在CDN。如果IP大多不太一样或者规律性很强,可以尝试查询这些IP的归属地,判断是否存在CDN。

3、绕过CDN寻找真实IP

  在确认了目标确实用了CDN以后,就需要绕过CDN寻找目标的真实IP:

  • 内部邮箱源。一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实IP(注意必须是目标自己的邮件服务器,第三或公共邮件服务器是没有用的)/
  • 扫描网站测试文件,如phpinfo、test等,从而找到目标的真实IP。
  • 分站域名。很多网站主站的访问量会比较大,所以主站都是挂CDN的,但是分站可能没有挂CDN,可以通过ping二级域名获取分站IP,可能会出现主站和分站不是同一个IP但在同一个C段下面的情况,从而判断出来目标的真实IP段。
  • 国外访问。国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定。因此,通过国外在线代理网站https://asm.ca.com/en/ping.php,可能会得到真实的IP
  • 查询域名的解析记录。也许目标很久以前并没有用过CDN。
  • 如果目标网站有自己的APP,可以尝试利用Fiddler或Burp Suite抓取App的请求,从里面找到目标的真实IP。

4、验证获取的IP

  如果是Web,最简单的验证方法是直接尝试用IP访问,看看响应的页面是不是和访问域名返回的一样,或者在目标段比较大的情况下,借助类似Masscan的工具批处理对应IP段中所有开了80、443、8080端口的IP,然后逐个尝试IP访问,观察响应结果是否为目标站点。

猜你喜欢

转载自www.cnblogs.com/R1card0/p/11222500.html