绕过CDN获取服务器真实IP地址
相关视频链接:(https://blog.sechelper.com/20220914/penetration-testing-guide/cdn-bypass)
CDN(Content Delivery Network) 内容分发网络。使用户就近获取所需内容,降低网络拥塞,提高响应速度。
网络空间搜索引擎
分析下网站关键元素信息
- 域名
- ip
- title
- icp
- logo
- body
以佛法为例子,其它引擎用法看文章后面
|
使用以上搜索语法可以收集到更多域名和IP信息。还可以结合公司地理位置、云厂商、IDC机房等多种因素精准搜索,例如:
|
参考:
什么是 ASN?
Shodan
Shodan是世界上第一个互联网连接设备搜索引擎。了解互联网智能如何帮助您做出更好的决策。
示例 | 说明 |
---|---|
HTTP Strict-Transport-Security | 需要HTTPS连接的网站 |
product:Apache | Apache web服务器 |
http.html:Apache | 在HTML中包含“Apache”一词的网站 |
Apache | 标题中有“Apache”一词的服务 |
hostname:google.com,facebook.com | 主机名包含“google.com”或“facebook.com”的服务 |
http.component:bootstrap | 使用Bootstrap CSS框架的网站 |
ssl.version:tlsv1.3 HTTP | 支持TLS 1.3的网站 |
ssl.alpn:h2 | 支持HTTP/2的网站 |
ssl.version:sslv2 -ssl.version:tlsv1,tlsv1.2,tlsv1.3 | 支持SSLv2但不支持TLS的服务 |
ssl.cert.subject.cn:google.com | 为*.google.com颁发证书的SSL服务(HTTPS、SMTPS、POP3等) |
ssl.cert.subject.cn:google.com -HTTP | 为*.google.com颁发证书的非HTTPS SSL服务 |
ssh port:22,3333 | 端口22或3333上的SSH |
ssh -port:2222 | 非标准端口上的SSH |
has_screenshot:true rfb disabled port:80,443 | 隐藏在公共web端口后面的公共VNC服务 |
has_screenshot:true encrypted attention | 搜索远程桌面中的OCR,以查看是否被勒索软件破坏 |
screenshot.label:ics | 基于机器学习的工业控制系统辨识 |
tag:ics | 运行工业协议的工业控制系统(即无网络服务器) |
vuln:CVE-2014-0160 | 易受心脏出血影响的服务 |
vuln:CVE-2019-19781 country:DE,CH,FR | 德国、瑞士或法国可能存在CVE-2019-19781漏洞的服务器 |
更多实例:
https://www.shodan.io/search/filters
https://www.shodan.io/search/examples
FOFA
FOFA 是白帽汇推出的一款网络空间搜索引擎,它通过进行网络空间测绘,能够帮助研究人员或者企业迅速进行网络资产匹配,例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。
逻辑连接符 | 具体含义 |
---|---|
= | 匹配,=""时,可查询不存在字段或者值为空的情况 |
== | 完全匹配,==""时,可查询存在且值为空的情况 |
&& | 与 |
|| | 或者 |
!= | 不匹配,!=""时,可查询值为空的情况 |
~= | 正则语法匹配专用 |
() | 确认查询优先级,括号内容优先级最高 |
搜索实例
例子 | 说明 |
---|---|
title=“beijing” | 从标题中搜索“beijing” |
header=“elastic” | 从http头中搜索“elastic” |
body=“商城” | 从html正文中搜索“商城” |
fid=“sSXXGNUO2FefBTcCLIT/2Q==” | 查找相同的网站指纹 |
domain=“qq.com” | 搜索根域名带有qq.com的网站。 |
icp=“京ICP证030173号” | 查找备案号为“京ICP证030173号”的网站 |
js_name=“js/jquery.js” | 查找网站正文中包含js/jquery.js的资产 |
js_md5=“82ac3f14327a8b7ba49baa208d4eaa15” | 查找js源码与之匹配的资产 |
cname=“ap21.inst.siteforce.com” | 查找cname为"ap21.inst.siteforce.com"的网站 |
cname_domain=“siteforce.com” | 查找cname包含“siteforce.com”的网站 |
icon_hash=“-614101761” | 搜索使用此 icon 的资产 |
host=“.gov.cn” | 从url中搜索”.gov.cn” |
port=“6379” | 查找对应“6379”端口的资产 |
ip=“1.1.1.1” | 从ip中搜索包含“1.1.1.1”的网站 |
ip=“220.181.111.1/24” | 查询IP为“220.181.111.1”的C网段资产 |
status_code=“402” | 查询服务器状态为“402”的资产 |
protocol=“quic” | 查询quic协议资产 |
country=“CN” | 搜索指定国家(编码)的资产。 |
city=“Beijing” | 搜索指定城市的资产。 |
cert=“baidu” | 搜索证书(https或者imaps等)中带有baidu的资产。 |
cert.subject=“Oracle Corporation” | 搜索证书持有者是Oracle Corporation的资产 |
cert.issuer=“DigiCert” | 搜索证书颁发者为DigiCert Inc的资产 |
cert.is_valid=true | 验证证书是否有效,true有效,false无效 |
jarm=“2ad…83e81” | 搜索JARM指纹 |
banner=“users” && protocol=“ftp” | 搜索FTP协议中带有users文本的资产。 |
asn=“19551” | 搜索指定asn的资产。 |
after=“2017” && before=“2017-10-01” | 时间范围段搜索 |
app=“Microsoft-Exchange” | 搜索Microsoft-Exchange设备 |
server==“Microsoft-IIS/10” | 搜索IIS 10服务器。 |
os=“centos” | 搜索CentOS资产。 |
type=“service” | 搜索所有协议资产,支持subdomain和service两种 |
钟馗之眼
ZoomEye 支持对公网开放的 IPv4、IPv6 及域名地址库进行多个端口服务或协议的探测,并整理收集相关返回 banner 数据提供搜索匹配。
ZoomEye 线上采用“覆盖式”更新模式:比如第一次扫描 IP 8.8.8.8 开放了 80 端口,第二次扫描 8.8.8.8 的 80
端口时,如果端口还存活,那么会用第二次扫描的结果覆盖更新第一次的扫描结果;如果第二次扫描时候 80
端口已经关闭,服务不存在,那么第一次扫描的结果不会被更新,时间节点也不会被更新。
搜索
用户在搜索输入框里输入对应关键字符串、语法词(也称为“过滤器”)及相关运算符进行检索。用户输入的关键字符串不区分大小写,在做全词匹配比如字符串里存在空格等字符时请使用引号闭合词组。
输入的字符串通过 ZoomEye
搜索引擎分词系统进行分词匹配,分词规则可使用搜索结果页面里“分词”功能帮助测试理解。输入语法词(也称为“过滤器”)后,搜索框提供了智能搜索提示:比如输入“思科”
或者“Cisco”
在搜索框下拉栏里会显示相关的 app 语法,选中后按“回车”即可进行检索。对于更多的组件指纹可以访问顶栏里的"导航"页面获取。
逻辑运算
逻辑词 | 说明 | 示例 |
---|---|---|
空格 | 在搜索框中输入“空格”则表示“或”的运算逻辑 | [service:“ssh” service:“http”](https://www.zoomeye.org/searchResult?q=service%3A"ssh" service%3A"http") 搜索ssh或http协议的数据 |
+ | 在搜索框中输入“+”则表示“且”的运算逻辑 | device:“router”+after:“2020-01-01” 搜索2020-01-01后路由器的数据 |
- | 在搜索框中输入“-”则表示“非”的运算逻辑 | [country:“CN”-subdivisions:“beijing”](https://www.zoomeye.org/searchResult?q=country%3A"CN" -subdivisions%3A"beijing") 搜索中国地区内除北京的数据 |
() | 在搜索框中输入“()”则表示“优先处理”的运算逻辑 | (port:“80”+subdivisions:“加利福尼亚州”)+before:“2020-01-01” 搜索2020-01-01前在加利福尼亚州开放的80端口数据 |
地理位置
(注:中国地区资产只对中国IP及手机号码认证用户开放)
语法 | 说明 | 注 |
---|---|---|
country:“CN” | 搜索国家地区资产 | 可以使用国家缩写,也可以使用中/英文全称如country:“中国” country:“china” |
subdivisions:“beijing” | 搜索相关指定行政区的资产 | 中国省会支持中文及英文描述搜索 subdivisions:“北京” |
city:“changsha” | 搜索相关城市资产 | 中国城市支持中文及英文描述搜索如 city:长沙 |
** 证书搜索**
语法 | 说明 | 注 |
---|---|---|
ssl:“google” | 搜索ssl证书存在"google"字符串的资产 | 常常用来提取产品名及公司名搜索对应目标 |
** IP及域名信息相关搜索**
语法 | 说明 | 注 |
---|---|---|
ip:“8.8.8.8” | 搜索指定IPv4地址相关资产 | |
ip:“2600:3c00::f03c:91ff:fefc:574a” | 搜索指定IPv6地址相关资产 | |
cidr:52.2.254.36/24 | 搜索IP的C段资产 | cidr:52.2.254.36/16 为IP的B段资产,cidr:52.2.254.36/8 为IP的A段资产 |
org:“北京大学” 或者 organization:“北京大学” | 搜索相关组织(Organization)的资产 | 常常用来定位大学、结构、大型互联网公司对应IP资产 |
[isp:“China Mobile”](https://www.zoomeye.org/searchResult?q=isp%3A"China Mobile") | 搜索相关网络服务提供商的资产 | 可结合org数据相互补充 |
asn:42893 | 搜索对应ASN(Autonomous system number)自治系统编号相关IP资产 | |
port:80 | 搜索相关端口资产 | 目前不支持同时进行多端口目标搜索 |
hostname:google.com | 搜索相关IP"主机名"的资产 | |
site:baidu.com | 搜索域名相关的资产 | 搜索域名相关的资产 |
指纹相关搜索
语法 | 说明 | 注 |
---|---|---|
[app:“Cisco ASA SSL VPN”](https://www.zoomeye.org/searchResult?q=app%3A"Cisco ASA SSL VPN") | 搜索思科ASA-SSL-VPN的设备 | 更多的app规则请参考“导航”,在搜索框输入"思科"等关键词会有相关app提示 |
service:“ssh” | 搜索对应服务协议的资产 | 常见服务协议包括:http、ftp、ssh、telnet等等(其他服务可参考搜索结果域名侧栏聚合展示) |
device:“router” | 搜索路由器相关的设备类型 | 常见类型包括router(路由器)、switch(交换机)、storage-misc(存储设备)等等(其他类型可参考搜索结果域名侧栏聚合展示) |
os:“RouterOS” | 搜索相关操作系统 | 常见系统包括Linux、Windows、RouterOS、IOS、JUNOS等等(其他系统可参考搜索结果域名侧栏聚合展示) |
title:“Cisco” | 搜索html内容里标题中存在"Cisco"的数据 | |
industry:“政府” | 搜索行业类型相关的资产 | 常见的行业类型包括科技、能源、金融制造业等等(其他类型可结合org数据相互补充) |
时间节点区间搜索
语法 | 说明 | 注 |
---|---|---|
[after:“2020-01-01” +port:“50050”](https://www.zoomeye.org/searchResult?q=after%3A"2020-01-01" +port%3A"50050") | 搜索更新时间为"2020-01-01"端口为"50050"以后的资产 | 时间过滤器需组合其他过滤器使用 |
[before:“2020-01-01” +port:“50050”](https://www.zoomeye.org/searchResult?q=before%3A"2020-01-01" +port%3A"50050") | 搜索更新时间在"2020-01-01"端口为"50050"以前的资产 | 时间过滤器需组合其他过滤器使用 |
Jarm
Jarm是一个活动的传输层安全性(TLS)服务器指纹识别工具, 详情参考:https://github.com/salesforce/jarm
语法 | 说明 | 注 |
---|---|---|
jarm: “29d29d15d29d29d00029d29d29d29dea0f89a2e5fb09e4d8e099befed92cfa” | 搜索相关jarm内容的资产 |
Dig
语法 | 说明 | 注 |
---|---|---|
[dig:“baidu.com 220.181.38.148”](https://www.zoomeye.org/searchResult?q=dig%3A"baidu.com 220.181.38.148") | 搜索相关dig内容的资产 |
Iconhash
语法 | 说明 | 注 |
---|---|---|
iconhash:“f3418a443e7d841097c714d69ec4bcb8” | 通过 md5 方式对目标数据进行解析,根据图标搜索相关内容的资产 | 搜索包含“google”图标的相关资产 |
iconhash:“1941681276” | 通过 mmh3 方式对目标数据进行解析,根据图标搜索相关内容的资产 | 搜索包含“amazon”图标的相关资产 |
Filehash
语法 | 说明 | 注 |
---|---|---|
filehash:“0b5ce08db7fb8fffe4e14d05588d49d9” | 通过上传方式进行查询,根据解析的文件数据搜索相关内容的资产 | 搜索包含“Gitlab”解析的相关资产 |
Censys
Censys帮助组织、个人和研究人员发现并监控互联网上的每台服务器,以减少暴露并提高安全性。
更多实例:
https://search.censys.io/search/examples?resource=hosts
异地PING
邮件头
大型公司邮件服务可能是自建的,从服务器内发出的邮件头会带着IP,这个极有可能是目标真实IP地址。foxmail导出邮件使用编辑器打开,可以看到一下内容。
|
邮箱头查看真实IP,确定不是使用的第三方邮箱再看,否则就是浪费时间,使用nslookup
查询mx
记录
|
域传送漏洞
DNS协议支持使用axfr类型的记录进行区域传送,用来解决主从同步的问题。如果管理员在配置DNS服务器的时候没有限制允许获取记录的来源,将会导致DNS域传送漏洞。
*注意:*DNS配置错误才会出现域传送漏洞,打点时可以使用脚本批量探测。
|
参考:
域名解析历史记录
域名历史解析记录,可以继续使用查出的IP地址反查域名,能够获取更多信息。

编辑
关注 至察助安 ,专注网络安全优质知识分享,无优质,不分享。
绕过CDN获取服务器真实IP地址的更多相关文章
- 绕过CDN查找网站真实IP方法收集
方法1很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有: http://ping.chinaz.com/ http://pi ...
- 绕过CDN测试出真实IP
前言 CDN的全称是Content Delivery Network,即内容分发网络.CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调度等功能模块 ...
- 绕过CDN查找网站真实ip
在渗透测试过程中,经常会碰到网站有CDN的情况.CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题.说的简单点,就是一组在不同运营商之间的对接点上的高速缓存服务器,把 ...
- 获取客户端真实IP地址
Java-Web获取客户端真实IP: 发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP. 一般分为两种情况: ...
- Java 获取客户端真实IP地址
本文基于方法 HttpServletRequest.getHeader 和 HttpServletRequest.getRemoteAddr 介绍如何在服务器端获取客户端真实IP地址. 业务背景 服务 ...
- 伪造IP及获取客户端真实IP地址
Fiddler支持自定义规则,可以实现对HTTP请求数据发送给Server前或HTTP应答数据发送给浏览器前进行修改.下面的例子将演示如何向所有HTTP请求数据中增加一个头.1)打开Fiddler,点 ...
- Java中使用HttpRequest获取用户真实IP地址端口
import javax.servlet.http.HttpServletRequest; /** * 自定义访问对象工具类 * * 获取对象的IP地址等信息 * @author X-rapido * ...
- Java获取客户端真实IP地址
Java代码 import javax.servlet.http.HttpServletRequest; /** * 获取对象的IP地址等信息 */ public class IPUtil { /** ...
- java如何获取访问真实IP地址?
java如何获取访问真实IP地址 解决方法: 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址,如果没有代理,则获取真实ip public static String getIp( ...
随机推荐
- JavaWEB-02-MySQL高级
内容 约束 多表关系 一对一 一对多 多对多 多表联查 ==多表联查== 事务 1. 约束 1.1 概念 限制,在数据库中是对某一列(多列)进行限制. 对表中的数据进行限定,保证正确性.有效性.完整性 ...
- JavaScript进阶知识点——函数和对象详解
JavaScript进阶知识点--函数和对象详解 我们在上期内容中学习了JavaScript的基本知识点,今天让我们更加深入地了解JavaScript JavaScript函数 JavaScript函 ...
- nginx 日志按日期分隔
#user nobody; user root; worker_processes 1; error_log /spdblogs/nginx/logs/error.log; error_log /sp ...
- 第46届ICPC澳门站 K - Link-Cut Tree // 贪心 + 并查集 + DFS
原题链接:K-Link-Cut Tree_第46屆ICPC 東亞洲區域賽(澳門)(正式賽) (nowcoder.com) 题意: 要求一个边权值总和最小的环,并从小到大输出边权值(2的次幂):若不存在 ...
- python shutil相关操作
python shutil模块常用操作 高级的 文件.文件夹.压缩包 处理模块 1.将文件内容拷贝至另一个文件中 shutil.copyfileobj(src, dist, length=16*102 ...
- Vue 模板语法 && 数据绑定
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...
- CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!) A-E
比赛链接 A 题解 知识点:思维,模拟. 发现 \(b\) 串第一个字符是 \(1\) 则只能使用 max , \(0\) 则只能使用 min ,随后只需要模拟到 \(a\) 串剩余 \(m\) 个字 ...
- 「vijos-bashu」lxhgww的奇思妙想(长链剖分)
倍增离线,预处理出爹和孙子们.查询\(O(1)\) #include <cstdio> #include <cstring> #include <numeric> ...
- Luogu2420 让我们异或吧 (熟练剖分)
\(dis[u] \bigoplus dis[v] = dis[u] \bigoplus dis[v] \bigoplus dis[lca\{x,y\}] \bigoplus dis[lca\{x,y ...
- 使用二手 gopro 做行车记录仪
背景 自打开了博客以后,一直在写技术说明文,今天打算写点程序以外的东西换换味口.前段时间在某鱼上以 300 元的价格入手了一套完整的 gopro3+ 运动摄像头,带一张 32G SD 卡,两块备用电池 ...