刘询
一、什么是“CDN”
首先,我们来认识下最寻常的真实IP隐藏方法“内容分发网络(CDN),CDN是Content Delivery Network或Content Distribution Network的缩写,指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。
CDN节点会在多个地点,不同的网络上摆放。这些节点之间会动态的互相传输内容,对用户的下载行为最优化,并借此减少内容供应者所需要的带宽成本,改善用户的下载速度,提高系统的稳定性。国内常见的CDN有网宿科技(ChinanNet Center)、阿里云(ChinaCache)等,国外常见的有阿卡迈(Akama)、Limelight Networks(简称LLNW)等。
二、如何判断IP是否是网站真实IP
1. Nslookup法
黑客一般nslookup想要查的域名,若是有多个IP就是用了CDN,多半为假IP。
2.多地ping域名法
黑客也可以从多个地点ping他们想要确认的域名,若返回的是不同的IP,那么服务器确定使用了CDN,返回的IP也不是服务器的真实IP。
3.“常识”判断法
为什么叫“常识”判断法呢?
①在反查网站IP时,如果此网站有1 000多个不同域名,那么这个IP多半不是真实IP。常用的IP反查工具有站长工具、微步在线等。微步在线支持同服域名查询、子域名查询、服务查询和whois反查等,要注意的是,查询部分信息有次数限制,需先注册账号。
②如一个asp或者asp.net网站返回的头字段的server不是IIS、而是Nginx,那么多半是用了nginx反向代理,而不是真实IP。
③如果IP定位是在常见CDN服务商的服务器上,那么是真实IP的可能性就微乎其微了。
三、如何寻找真实IP
1.子域名查找法
因为CDN和反向代理是需要成本的,有的网站只在比较常用的域名使用CDN或反向代理,有的时候一些测试子域名和新的子域名都没来得及加入CDN和反向代理,所以有时候是通过查找子域名来查找网站的真实IP。下面介绍些常用的子域名查找的方法和工具:
(1)微步在线
上文提到的微步在线功能强大,黑客只需输入要查找的域名(如baidu.com),点击子域名选项就可以查找它的子域名了,但是免费用户每月只有5次免费查询机会。
(2) Dnsdb查询法
只需输入baidu.com type:A就能收集百度的子域名和IP。
(3) Google搜索
Google site:baidu.com -www就能查看到除www外的子域名。
(4)各种子域名扫描器
这里,主要为大家推荐子域名挖掘机和lijiejie的子域名挖掘机仅需输入域名即可基于字典挖掘它的子域名。
Subdomainbrute以Windows为例,黑客仅需打开cmd进入它所在的目录输入“Python subdomainbrute.py baidu.com--full”即可收集百度的子域名。
总结:收集子域名后尝试以解析IP不在CDN上的IP解析主站,真實IP便成功被获取到。
2. IP历史记录解析查询法
有的网站是后来才加入CDN的,所以只需查询它的解析历史即可获取真实IP。
3 .网站漏洞查找法
通过网站的信息泄露如phpinfo泄露,github信息泄露,命令执行等漏洞获取真实IP。
4.网站订阅邮件法
黑客可以通过网站订阅邮件的功能,让网站给自己发邮件,查看邮件的源代码即可获取网站真实IP。
5.理想zmap法
首先从apnic网络信息中心获取IP段,然后使用Zmap的banner-grab对扫描出来80端口开放的主机进行banner抓取,最后在http-req中的Host写需要寻找的域名,然后确认是否有相应的服务器响应。
6.网络空间引擎搜索法
常见的有以前的钟馗之眼、shodan、fofa搜索。以fofa为例,只需输入:title:“网站的title关键字”或者body:“网站的body特征”就可以找出fofa收录的有这些关键字的IP域名,大多时候能获取网站的真实IP。
7. F5 LTM解码法
当服务器使用F5 LTM做负载均衡时,通过对set-cookie关键字的解码真实IP也可被获取,例如:Set-Cookie: BIGIP Serverpool_8.29_8030=487098378.24095.0000,先把第一小节的十进制数即487098378取出来,然后将其转为十六进制数1d08880a,接着从后至前,依次取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就是最后的真实IP。
通过以上的方法,被获取到的IP可能是真实的IP、亦可能是真实IP的同c段IP,还需要对其进行相关测试,如与域名的绑定测试等,最后才能确认它是不是最终IP。
所以,为了保护服务器,不轻易暴露我们的真实IP,可以使用CDN、WAF等,在使用CDN的同时先确认IP历史记录中,是否存在真实IP,记得更换IP后再开启CDN。若网站有订阅邮件或发邮件的需求,可选择独立的服务器发取。子域名的IP记得隐匿,或者采取与主服务不同C段的服务器。