最新绕过目标域名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进行访问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/90565.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++杂货铺】探索vector的底层实现

文章目录 一、STL1.1 什么是STL?1.2 STL的版本1.3 STL的六大组件 二、vector的介绍及使用2.1 vector的介绍2.2 vector的使用2.2.1 vector的定义2.2.2 vector iterator2.2.3 vector空间增长问题2.2.4 vector增删查改 2.3 vector\<char\> 可以替代 string 嘛&#xff1f; …

数据库连接池druid 的jar包官网下载-最新版下载

进入官网Central Repository: com/alibaba/druid 往下滑 找到最新版点击进入 找到该jar包 点击即可下载

家长如何将ChatGPT成为家庭日常活动的得力助手

人工智能已经在许多领域发挥作用&#xff0c;如播放音乐、关闭灯光和帮助我们更安全地驾驶。那么&#xff0c;在养育孩子方面呢&#xff1f; 使用像ChatGPT这样的应用&#xff0c;家长们可以更好地完成任务&#xff0c;但同时也要了解其中存在的风险。 许多家长表示&#xff…

Java 中使用 ES 高级客户端库 RestHighLevelClient 清理百万级规模历史数据

&#x1f389;工作中遇到这样一个需求场景&#xff1a;由于ES数据库中历史数据过多&#xff0c;占用太多的磁盘空间&#xff0c;需要定期地进行清理&#xff0c;在一定程度上可以释放磁盘空间&#xff0c;减轻磁盘空间压力。 &#x1f388;在经过调研之后发现&#xff0c;某服务…

Python学习笔记_实战篇(二)_django多条件筛选搜索

多条件搜索在很多网站上都有用到&#xff0c;比如京东&#xff0c;淘宝&#xff0c;51cto&#xff0c;等等好多购物教育网站上都有&#xff0c;当然网上也有很多开源的比楼主写的好的多了去了&#xff0c;仅供参考&#xff0c;哈哈 先来一张效果图吧&#xff0c;不然幻想不出来…

【C++】—— c++11新的类功能

目录 &#xff08;一&#xff09;默认成员函数 1、 移动构造函数 2、代码辅助理解 3、移动赋值运算符重载 &#xff08;二&#xff09;default关键字 &#xff08;三&#xff09;delete关键字 &#xff08;四&#xff09;委托构造函数 1、优势 2、缺点 总结 &#x…

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v7.0版已发布

关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架&#xff0c;超轻量级、高度提炼&#xff0c;一套API优雅支持 UDP 、TCP 、WebSocket 三种协议&#xff0c;支持 iOS、Android、H5、标准Java、小程序、Uniapp&#xff0c;服务端基于Netty编写。 工程…

Multisim软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 Multisim软件是一款电路仿真和设计软件&#xff0c;由美国国家仪器公司&#xff08;National Instruments&#xff09;开发。它提供了一个交互式的图形界面&#xff0c;使用户能够轻松地构建和仿真电路。以下是Multisim软件的详…

攻防世界-embarrass

原题 解题思路 搜索flag&#xff0c;结果搜不到。 换到kali里看。

【多模态】26、视觉-文本多模态任务超详细介绍 「CLIP/LSeg/ViLD/GLIP/ALBEF/BLIP/CoCa/BEIT」

文章目录 准备知识一、CLIP&#xff1a;不同模态简单对比的方法更适合于图文检索1.1 CLIP 在分割上的改进工作1.1.1 LSeg1.1.2 Group ViT 1.2 CLIP 在目标检测上的改进工作1.2.1 ViLD1.2.2 GLIPv11.2.3 GLIPv2 二、ViLT/ALBEF &#xff1a;多模态融合在 VQA/VR 任务中更重要三、…

mysql 命令行 执行sql文件

方法1 source source file.sql; file.sql : 绝对路径或 相对路径。 方法2 mysql -u xxx -p < file.sql 方法3 MySQLImport 工具 mysqlimport [options] database file_name 其中&#xff0c;database为要导入数据的数据库名&#xff0c;file_name为要导入的SQL文件名。还可以…

后端开发有哪几种语言? - 易智编译EaseEditing

后端开发是构建应用程序的一部分&#xff0c;负责处理服务器端的逻辑、数据库交互和数据处理。有许多编程语言可用于后端开发&#xff0c;以下是一些常见的后端开发语言&#xff1a; Java&#xff1a; Java是一种广泛使用的面向对象编程语言&#xff0c;具有强大的跨平台能力。…

(纯c)数据结构之------>链表(详解)

目录 一. 链表的定义 1.链表的结构. 2.为啥要存在链表及链表的优势. 二. 无头单向链表的常用接口 1.头插\尾插 2.头删\尾删 3.销毁链表/打印链表 4.在pos位置后插入一个值 5.消除pos位置后的值 6.查找链表中的值并且返回它的地址 7.创建一个动态开辟的结点 三.顺序表与链表…

MySQL事务的隔离级别

前置阅读 快速搭建 Linux 学习平台 一、事务的特性 对于事务&#xff0c;我觉得有一句英文描述的非常贴切&#xff1a;All or not, now or never. 事务 &#xff08;Transaction&#xff09;可以说是关系型数据库最重要的特性了。SQL 事务就是一个或者多个 SQL 语句的集合&a…

响应式布局bootstrap使用

响应式布局 学习目标 能够说出响应式原理 能够使媒体查询完成响应式导航 能够使用Bootstrap的栅格系统 能够使用bootstrap的响应式工具 1.响应式原理 1.1响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的 1.2响应式布局容器…

顺序表之初

欢迎来到我的&#xff1a;世界 希望作者的文章对你有所帮助&#xff0c;有不足的地方还请指正&#xff0c;大家一起学习交流 ! 目录 线性表简介顺序表定义动态顺序表的初始化尾插头插Cheak 判断是否增容尾删&#xff1a;头删&#xff1a;打印在pos位置前插入x删除pos位置的值查…

centos7搭建apache作为文件站后,其他人无法访问解决办法

在公司内网的一个虚拟机上搭建了httpsd服务&#xff0c;准备作为内部小伙伴们的文件站&#xff0c;但是搭建好之后发现别的小伙伴是无法访问我机器的。 于是寻找一下原因&#xff0c;排查步骤如下&#xff1a; 1.netstat -lnp 和 ps aux 先看下端口和 服务情况 发现均正常 2.…

Linux(基础篇一)

Linux基础篇 Linux基础篇一1. Linux文件系统与目录结构1.1 Linux文件系统1.2 Linux目录结构 2. VI/VIM编辑器2.1 vi/vim是什么2.2 模式间的转换2.3 一般模式2.4 插入模式2.4.1 进入编辑模式2.4.2 退出编辑模式 2.5 命令模式 3. 网络配置3.1 网络连接模式3.2 修改静态ip3.3 配置…

python中的matplotlib画直方图(数据分析与可视化)

python中的matplotlib画直方图&#xff08;数据分析与可视化&#xff09; import numpy as np import pandas as pd import matplotlib.pyplot as pltpd.set_option("max_columns",None) plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus]Fa…

Linux TCP协议——三次握手,四次挥手

一、TCP协议介绍 TCP协议是可靠的、面向连接的、基于字节流的传输层通信协议。 TCP的头部结构&#xff1a; 源/目的端口号: 表示数据是从哪个进程来, 到哪个进程去;&#xff08;tcp是传输层的协议&#xff0c;端与端之间的数据传输&#xff0c;在TCP和UDP协议当中不会体现出I…