验证核心逻辑为:若域名解析对应 IP 不唯一,则大概率使用 CDN,主要通过以下两种方法实现。
验证方法 | 操作方式 | 工具 / 示例 |
---|---|---|
多地 Ping 检测 | 访问多地 Ping 服务,输入域名查看解析 IP 是否一致 | 工具:http://ping.chinaz.com/、http://ping.aizhan.com/、http://ce.cloud.360.cn/ |
nslookup 检测 | 在命令行执行nslookup 域名 ,观察返回 IP 数量 |
示例 1(有 CDN):返回 58.223.164.86、125.75.32.252 等多个 IP ;示例 2(无 CDN):xiaix.me 仅返回 101.35.246.147 一个 IP |
二、绕过 CDN 查找真实 IP 的核心方法
(一)查询历史 DNS 记录
通过获取域名与 IP 绑定的历史数据,或分析当前可能泄漏 IP 的 DNS 记录(如 MX 记录),定位真实 IP。
-
历史记录查询渠道:包括https://dnsdb.io/zh-cn/、https://x.threatbook.cn/、http://toolbar.netcraft.com/site_report?url=等平台,以及 https://securitytrails.com。
-
当前记录泄漏点:若网站邮件服务器与 Web 服务器在同一 IP,MX 记录会直接暴露真实 IP 。
(二)查询子域名
因 CDN 成本较高,站长多仅为主站 / 高流量子站部署 CDN,小流量子站可能与主站同服务器 / C 段,可通过子域名 IP 推导真实 IP。
-
子域名获取方式
-
微步在线:输入域名(如)点击 “子域名” 选项,免费用户每月 5 次查询机会 。
-
Dnsdb:输入
域名 type:A
(如 type:A)收集子域名及 IP 。 -
Google 搜索:用
site:域名 -www
(如site:baidu.com -www)筛选非 www 子域名 。 -
扫描工具:子域名挖掘机(基于字典挖掘)、subdomainbrute(Windows 下 CMD 执行
python subdomainbrute.py 域名 --full
) 。
-
-
后续操作:解析子域名 IP,用非 CDNIP 尝试解析主站,获取真实 IP 。
(三)网络空间引擎搜索法
通过网站标题(title)、页面内容(body)等独特特征,在引擎中匹配对应 IP。
-
常用引擎:Shodan、FOFA、钟馗之眼 。
-
搜索语法:FOFA 输入
title:"网站title关键字"
或body:"网站body特征"
。
(四)网站邮件订阅查找
网站 RSS 邮件订阅通过sendmail
发送邮件,邮件源码中会包含服务器真实 IP,订阅后查看源码即可 。
(五)利用 SSL 证书查找
Web 服务器需配置 SSL 证书,攻击者可通过扫描全网证书匹配域名,定位真实 IP。
-
核心工具:Censys(每日扫描 IPv4 地址空间,收集设备、证书信息) 。
-
操作流程
-
已知域名:构造搜索参数
parsed.names:域名 and tags.raw:trusted
(如parsed.names:域名 and tags.raw:trusted),点击证书 “Explore” 查看关联 IPv4 主机 。 -
已知证书(如.onion 服务):提取证书 “SHA1 fingerprint”,在 Censys IPv4 主机搜索框粘贴匹配 。
-
(六)使用国外主机解析域名
国内 CDN 多仅覆盖国内线路,国外主机直接访问域名可能获取真实 IP 。
(七)网站漏洞查找
利用漏洞获取敏感信息或权限,间接找到真实 IP。
-
常见漏洞:敏感文件泄露(如 phpinfo 探针)、XSS 盲打、SSRF 等;或获取 CDN 管理员账号查看配置 。
(八)F5 LTM 解码法
若服务器使用 F5 LTM 负载均衡,可通过Set-Cookie
字段解码获取真实 IP,以Set-Cookie:BIGipServerpool_8.29_8030=487098378.24095.0000
为例:
-
提取第一小节十进制数:487098378 。
-
转换为十六进制:1d08880a 。
-
从后至前每四位分组:0a.88.08.1d 。
-