最新绕过目标域名CDN进行信息收集技术
绕过目标域名CDN进行信息收集
1.CDN简介及工作流程
CDN(Content Delivery Network,内容分发网络)的目的是通过在现有的网络架构中增加一层新的Cache(缓存)层,将网站的内容发布到最接近用户的网络“边缘”的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度,从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因导致的用户访问网站的响应速度慢的问题。
传统的、未使用CDN的网站访问过程如图1-26所示。

具体访问流程如下。
(1)用户输入访问的域名,操作系统向LOCAL DNS查询域名的IP地址。
(2)LOCAL DNS向ROOT DNS查询域名的授权服务器(这里假设LOCAL DNS缓存过期)。
(3)ROOT DNS将域名授权的DNS记录回应给LOCAL DNS。
(4)LOCAL DNS得到域名授权的DNS记录后,继续向域名授权DNS查询目标域名的IP地址。
(5)域名授权DNS查询到域名的IP地址后,回应给LOCAL DNS。
(6)LOCAL DNS将得到的域名IP地址回应给用户端。
(7)用户得到域名IP地址后,访问网站服务器。
(8)网站服务器应答请求,将内容返回给用户端。
使用了CDN的网站访问过程如图1-27所示。

具体访问流程如下。
(1)用户输入访问的域名,操作系统向LOCAL DNS查询域名的IP地址。
(2)LOCAL DNS向ROOT DNS查询域名的授权服务器(这里假设LOCAL DNS缓存过期)。
(3)ROOT DNS将域名授权的DNS记录回应给LOCAL DNS。
(4)LOCAL DNS得到域名授权的DNS记录后,继续向域名授权DNS查询目标域名的IP地址。
(5)域名授权DNS查询到域名记录后(一般是CNAME),回应给LOCAL DNS。
(6)LOCAL DNS得到域名记录后,向智能调度DNS查询域名的IP地址。
(7)智能调度DNS根据一定的算法和策略(如静态拓扑、容量等),将最适合的CDN节点IP地址回应给LOCAL DNS。
(8)LOCAL DNS将得到的域名IP地址回应给用户端。
(9)用户得到域名IP地址后,访问网站服务器。
(10)CDN节点服务器应答请求,将内容返回给用户端(缓存服务器在本地进行保存,以备以后使用,同时,把获取的数据返回给用户端,完成数据服务过程)。
2.判断目标是否使用了CDN
(1)手动Ping查询。
通常,会通过Ping目标主域,观察域名的解析情况,以此判断其是否使用了CDN,如图1-28所示。

可以看到,在Ping主域名时,请求自动转到了“lst.dtwscachev424.ourwebcdn.com”这个CDN代理上,说明此网站使用CDN服务。
(2)在线查询。
还可以利用一些在线网站进行全国多地区Ping检测操作,然后对比每个地区Ping出的IP地址结果,查看这些IP地址是否一致,如果都是一样的,则极有可能不存在CDN。如果IP地址大多不太一样或者规律性很强,则可以尝试查询这些IP地址的归属地,判断是否存在CDN。这里通过17CE网站对百度主域名进行多地Ping检测,如图1-29所示。
17CE网站使用多地Ping技术,设立不同的监测点收集响应IP地址。如果在多个监测点显示同一个IP地址,那么此IP地址就最有可能为该站的真实IP地址。
常用的多地Ping检测的CDN网站如下。
17CE
Myssl
站长工具
CDNPlanet

3.绕过CDN,寻找真实IP地址
在确认了目标确实用了CDN后,就需要绕过CDN寻找目标的真实IP地址,下面介绍一些常规的方法。
(1)内部邮箱源。公司内部的邮件系统通常部署在企业内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找邮件头中的邮件服务器域名IP地址,Ping这个邮件服务器的域名,就可以获得目标的真实IP地址(注意,必须是目标自己的邮件服务器,第三方或公共邮件服务器是没有用的)。
(2)扫描网站测试文件,如.phpinfo、.test等,从而找到目标的真实IP地址。
(3)分站域名。因为很多网站主站的访问量比较大,所以主站都是“挂”CDN的。分站可能没有“挂”CDN,可以通过Ping二级域名获取分站IP地址,可能会出现分站和主站不是同一个IP地址但在同一个C段下面的情况,从而判断出目标的真实IP地址段。
(4)国外访问。国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定了。因此,通过国外在线代理网站“App Synthetic Monitor”访问,可能会得到真实IP地址,如图1-30所示。

(5)查询域名的解析记录。如果目标网站之前并没有使用过CDN,则可以通过网站Netcraft查询域名的IP地址历史记录,大致分析出目标的真实IP地址段。
(6)如果目标网站有自己的App,则可以尝试利用Fiddler或Burp Suite抓取App的请求,从里面找到目标的真实IP地址。
(7)绕过“Cloudflare CDN”查找真实IP地址。现在很多网站都使用Cloudflare提供的CDN服务,在确定了目标网站使用CDN后,可以先尝试通过网站“CloudflareWatch”对目标网站进行真实IP地址查询,结果如图1-31所示。
图中列出了域名直连的IP地址,并且给出了“lookup”的历史解析(Previous lookups for this domain)的IP地址。读者可以将以上几种手段结合起来使用,最终筛选出需要查询的域名的真实IP地址。

4.验证获取的IP地址
找到目标的真实IP地址后,如何验证其真实性呢?
(1)如果是Web网站,那么最简单的验证方法是直接尝试用IP地址访问,看看响应的页面是不是和访问域名返回的一样。
(2)在目标段比较大的情况下,借助类似Masscan、Nmap等端口扫描工具批量扫描对应IP地址段中所有开了80、443、8080端口的IP地址,然后逐个尝试IP地址访问,观察响应结果是否为目标网站。如果目标绑定了域名,那么直接访问是访问不到的。这时,需要在Burp Suite中修改header头Host:192.xxx.xxx.xxx,或使用其他方法指定Host进行访问。
相关文章:
最新绕过目标域名CDN进行信息收集技术
绕过目标域名CDN进行信息收集 1.CDN简介及工作流程 CDN(Content Delivery Network,内容分发网络)的目的是通过在现有的网络架构中增加一层新的Cache(缓存)层,将网站的内容发布到最接近用户的网…...
overlayfs
参考:How containers work: overlayfs how overlays work Overlay filesystems, also known as “union filesystems” or “union mounts” let you mount a filesystem using 2 directories: a “lower” directory, and an “upper” directory. Basically: t…...
Mysql中九种索引失效场景分析
表数据: 索引情况: 其中a是主键,对应主键索引,bcd三个字段组成联合索引,e字段为一个索引 情况一:不符合最左匹配原则 去掉b1的条件后就不符合最左匹配原则了,导致索引失效 情况二ÿ…...
Android RecyclerView 之 列表宫格布局的切换
前言 RecyclerView 的使用我就不再多说,接下来的几篇文章主要说一下 RecyclerView 的实用小功能,包括 列表宫格的切换,吸顶效果,多布局效果等,今天这篇文章就来实现一下列表宫格的切换,效果如下 一、数据来…...
妈妈的爱依然深沉
村里的孩子为了买化肥,跟城里官老爷们借了好多钱。 那几年庄稼转手很快,不是用来吃的,因此借钱成本很高,大概LPR加100bp。 后来村里孩子终于发现庄稼终究只能用来吃,不再热衷买卖化肥。可是官老爷们的金融生意还要继续…...
net.ResolveTCPAddr(“tcp6“, address)
尝试解析 "www.google.com" 的IPv6地址。如果解析成功,程序将打印出解析后的IP地址、端口以及区域信息。如果解析失败,程序将打印出错误信息。 需要注意的是,如果 "www.google.com" 没有IPv6地址,或者本地网络…...
mysql和mybatisPlus实现:datetime类型的字段范围查询
前提说明 数据库在存储数据时,我们为了精确一下时间,便会把改时间类型的字段设置为datetime类型; 在过滤数据库数据时,我们又需要对该字段进行一个范围的过滤 由此,便出现了这篇博客 datetime数据类型 在MySQL中,datetime数据类型用于保存日期和时间的值。它的格式为Y…...
学习笔记:用ROS接收rosbag发布的topic
用ROS接收 bag.open发布的topic python语言 要使用ROS接收保存在rosbag文件中的话题消息,可以按照以下步骤进行操作: 1.首先,请确保你已经安装了ROS和相关的依赖。 2.创建一个ROS功能包(或使用现有的功能包)来处理…...
LAMP架构介绍配置命令讲解
LAMP架构介绍配置命令讲解 一、LAMP架构介绍1.1概述1.2LAMP各组件的主要作用1.3各组件的安装顺序 二、编译安装Apache httpd服务---命令讲解1、关闭防火墙,将安装Apache所需的软件包传到/opt/目录下2、安装环境依赖包3、配置软件模块4、编译安装5、优化配置文件路径…...
C语言之函数题
目录 1.乘法口诀表 2.交换两个整数 3.函数判断闰年 4.函数判断素数 5.计算斐波那契数 6.递归实现n的k次方 7.计算一个数的每位之和(递归) 8.字符串逆序(递归实现) 9.strlen的模拟(递归实现) 10.求…...
SpringBoot的四种handler类型
Controller ReuestMapping 实现Controller接口 使用Component将该类封装成一个Bean 实现HttpRequestHandler 实现RouterFunction...
基于KNN算法的鸢尾花种类预测
导入数据 iris_data load_iris() iris_data.data[0:5, :]array([[5.1, 3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2],[4.7, 3.2, 1.3, 0.2],[4.6, 3.1, 1.5, 0.2],[5. , 3.6, 1.4, 0.2]])# 特征值名称 iris_data.feature_names[sepal length (cm),sepal width (cm),petal length (cm…...
英语-面试
自我介绍 hi,my name is tzh,26 years old.I major in software engineering. I participate in the design and development of the social project and e-commerce project. I master java and algorithm. Im familiar with gateway,spring,springboot,springcloud,redis…...
文件传输协议
文章目录 一、FTP1. 定义2. 端口3. 数据传输方式主动方式被动方式 二、TFTP三、常用命令 首先可以看下思维导图,以便更好的理解接下来的内容。 一、FTP 1. 定义 文件传输协议(FTP)是一种用于在客户端和服务器之间进行文件传输的标准网络协…...
Llama-2大模型本地部署研究与应用测试
最近在研究自然语言处理过程中,正好接触到大模型,特别是在年初chatgpt引来的一大波AIGC热潮以来,一直都想着如何利用大模型帮助企业的各项业务工作,比如智能检索、方案设计、智能推荐、智能客服、代码设计等等,总得感觉…...
白嫖idea
白嫖idea 地址 https://www.jetbrains.com/toolbox-app/...
PyCharm切换虚拟环境
PyCharm切换虚拟环境 为了满足不同任务需要不同版本的包,可以在Anaconda或者Miniconda创建多个虚拟环境文件夹,并在PyCharm下切换虚拟环境。 解决方案 1、打开Ananconda Prompt 2、创建自己的虚拟环境 格式:conda create -n 虚拟环境名字…...
自动化运维工具-----Ansible入门详解
目录 一.Ansible简介 什么是Ansible? Ansible的特点 Ansible的架构 二.Ansible任务执行解析 ansible任务执行模式 ansible执行流程 ansible命令执行过程 三.Ansible配置解析 ansible的安装方式 ansible的程序结构(yum安装为例) ansibl…...
一、Mycat2介绍与下载安装
第一章 入门概述 1.1 是什么 Mycat 是数据库中间件。 1、数据库中间件 中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟 通。 例子:Tomcat,web中间件。 数据库中间件:连接java应用程序和数据库…...
链表的介绍
链表是一种常用的数据结构,它可以动态地添加、删除、查找和遍历元素。链表由多个节点组成,每个节点包括一个数据项和一个指向下一个节点的指针。这种数据结构可以高效地插入和删除元素,但相对于数组来说,查找元素的效率较低。 插…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
