在网络安全和渗透测试过程中,绕过CDN找到真实IP 是一个常见的挑战。本文将介绍多种有效的方法,帮助你快速掌握这一技能。本文适合基础小白学习,每个段落都会用粗体突出重点,确保内容简洁明了。
1. 什么是CDN?
CDN (内容分发网络) 是一组分布在各个地区的服务器,这些服务器存储着数据的副本,能够根据用户距离最近的服务器来满足数据请求。通俗来讲,CDN就是用来加速访问的。例如,百度引擎使用CDN技术来在全国各处设置节点,提供快速服务,减少高流量的影响。
2. CDN对渗透测试的影响
隐藏真实源IP 是CDN对渗透测试的主要影响,导致对目标IP测试错误。普通的访问路径是:用户访问域名 -> CDN节点 -> 真实服务器IP -> 访问目标主机。因此,绕过CDN找到真实IP是进行有效渗透测试的关键。
3.CDN绕过技巧
0x01 验证是否存在CDN
方法1:使用多地ping服务
通过多地ping服务检查目标IP地址是否唯一。如果不唯一,多半使用了CDN。常用的多地ping网站有:
例如小迪的网站无cdn
这些工具可以从不同地理位置ping一个网站,并返回不同的IP地址。若返回的IP地址不一致,则可能是使用了CDN。
方法2:使用nslookup命令
利用nslookup命令检测域名解析的IP地址数量。如果解析结果中有多个IP地址,说明使用了CDN。示例如下:
有CDN的示例:
nslookup www.baidu.com
服务器: UnKnown
Address: 192.168.196.111
非权威应答:
名称: www.a.shifen.com
Addresses: 2408:8756:c52:1aec:0:ff:b013:5a11
2408:8756:c52:1107:0:ff:b035:844b
157.148.69.74
157.148.69.80
Aliases: www.baidu.com
无CDN的示例:
nslookup xiaodi8.com
服务器: UnKnown
Address: 192.168.196.111
非权威应答:
名称: xiaodi8.com
Address: 47.75.212.155
0x02 绕过CDN查找网站真实IP
方法1:查询历史DNS记录
通过查询历史DNS记录,可以找到使用CDN前的IP地址。常用的查询网站有:
这些平台提供详细的历史DNS记录,攻击者可以输入网站域名并查看其历史IP地址。例如,利用SecurityTrails平台,输入网站域名后,点击“历史数据”即可查看过去的DNS记录。
除了过去的DNS记录,即使是当前的记录也可能泄漏原始服务器IP。例如,MX记录是一种常见的查找IP的方式。如果网站在与web相同的服务器和IP上托管自己的邮件服务器,那么原始服务器IP将在MX记录中。
方法2:查询子域名
CDN成本较高,很多站长只对主站或流量大的子站点使用CDN。通过查询子域名找到其真实IP。常用工具:
例如,在微步在线中输入要查找的域名,点击子域名选项即可查找它的子域名。Google搜索可以通过site:example.com -www
查看除www外的子域名。
方法3:网络空间引擎搜索
使用网络空间搜索引擎(如Shodan、Fofa)查找目标网站的真实IP。方法如下:
- Fofa搜索:输入
title:"网站的title关键字"
或body:"网站的body特征"
这些搜索引擎能够搜索和索引互联网上的设备和服务,通过特定的关键词和特征或者是网站源码,可以找到与目标网站相关的真实IP。
方法4:利用SSL证书
SSL证书可以暴露真实IP。通过扫描互联网获取SSL证书,进而找到服务器的真实IP。常用工具:
- Censys:用于搜索联网设备信息,扫描整个互联网。
假如你在xyz123boot.com
上托管了一个服务,原始服务器IP是136.23.63.44
。在Censys上搜索parsed.names:xyz123boot.com
,可以找到该域名的证书,并获取其真实IP。
方法5:利用HTTP标头
通过比较HTTP标头来查找原始服务器。例如,使用SecurityTrails平台搜索特定HTTP标头。
如果要搜索的数据相当多,攻击者可以在Censys(大数据搜索平台)上组合搜索参数。例如,查找由CloudFlare提供服务和以XYZ的php框架的网站的参数如下:
80.http.get.headers.server:cloudflare
80.http.get.headers.x-generated-via:XYZ框架
方法6:利用网站返回的内容
如果原始服务器IP也返回了网站的内容,那么可以在网上搜索大量的相关数据。浏览网站源代码,寻找独特的代码片段。在JavaScript中使用具有访问或标识符参数的第三方服务(例如Google Analytics,reCAPTCHA)是攻击者经常使用的方法。
例如,从HackTheBox网站获取的Google Analytics跟踪代码:
ga('create','UA-93577176-1','auto');
方法7:使用国外主机解析域名
国内很多CDN只做国内线路,使用国外的主机访问域名可能获取到真实IP,看下国外的服务器ping的ip是否是同一个
方法8:网站漏洞查找
遗留文件:如phpinfo
页面泄露,可能会显示服务器的外网IP地址。
漏洞探针:如SSRF
漏洞,可以通过目标网站上的漏洞让VPS获取对方反向连接的IP地址,还有就是XSS盲打、命令执行反弹shell等
方法9:网站邮件订阅查找
查看RSS邮件订阅的邮件源码,通常包含服务器的真实IP。
-
利用方法:
- 通过主动服务器发送邮件,例如验证码
- 通过错误的收信名称来服务器发送邮件
-
主要原理:服务器主动发送邮件时显示的ip为真实ip
方法10:全网扫描
-
判断厂商:(ipip)——缩小ip范围
-
通过ip库查询:纯真数据库——确认ip段
-
通过网站特征进行爆破——就是通过网站特征来一个一个ip爆破
-
示例:使用fuckcdn进行爆破,fuckcdn下载地址:(链接)
-
-
-
-
双击运行,填写命令:ip:端口
-
最后在result_ip.txt查看结果
-
-
方法11:F5 LTM解码法
通过解码F5 LTM负载均衡器的Set-Cookie字段,获取真实IP。例如:
BIGipServer <pool name> = <编码服务器IP>.<编码服务器端口>.0000
Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000
解码步骤:将487098378转为十六进制,得到1d08880a
,然后反向读取每四位数转为十进制,即10.136.8.29
。
总结
绕过CDN查找真实IP是网络安全中的一项基本技能。本文详细介绍了11种绕过CDN的方法,并通过案例分析展示了这些方法的实际应用。希望本文能帮助初学者掌握这些技术,提升网络安全技能。