PayloadsAllTheThings 实战指南:Virtual Host(虚拟主机)枚举、指纹识别与 Host 头攻击
网络安全应用安全渗透测试【免费下载链接】PayloadsAllTheThingsA list of useful payloads and bypass for Web Application Security and Pentest/CTF项目地址https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings点击查看免费下载本文基于 PayloadsAllTheThings 仓库的 Virtual Hosts/README.md 整理成篇。Virtual HostVHOST是 Web 服务器在同一 IP 上承载多个域名/子域名的核心机制也是渗透测试中最常被忽略的枚举面之一。读完本文你将掌握 VHOST 的工作原理、主流扫描工具gobuster / VHostScan / hakoriginfinder / VhostFinder的用法、手工指纹识别隐藏站点的判断指标以及利用 DNS 历史记录绕过 Cloudflare 等 WAF 直打源站并进一步延伸到 Host 头投毒、缓存投毒等关联攻击面。什么是 Virtual Host为什么要枚举它Virtual Host虚拟主机简称 VHOST是 Web 服务器Apache、Nginx、IIS 等在单个 IP 地址上托管多个域名或子域名的机制。当枚举一个 Web 服务器时默认请求往往只命中主站点或默认 VHOST而那些隐藏的虚拟主机可能暴露额外的功能、内部应用或更脆弱的攻击面——这正是 VHOST 枚举的价值所在。在 HTTP/1.1 及更高版本中每个请求都必须携带一个Host头GET / HTTP/1.1 Host: example.com这个头部告诉服务器客户端想要访问的域名如果服务器只托管一个站点Host头通常被忽略或统一回落到默认站点如果服务器托管了多个虚拟主机Web 服务器会依据Host头将请求在内部路由到对应的内容。服务器端视角VHOST 是如何路由请求的以 Apache 的配置为例Nginx 的server_name、IIS 的 Host Header 绑定原理相同当服务器配置如下时VirtualHost *:80 ServerName site-a.com DocumentRoot /var/www/a /VirtualHost VirtualHost *:80 ServerName site-b.com DocumentRoot /var/www/b /VirtualHost使用默认主机名site-a.com发起的请求返回站点 A 的内容GET / HTTP/1.1 Host: site-a.com而将Host头篡改为 site-b.com 后请求会被路由到站点 B——这个行为可能揭示出全新的内容GET / HTTP/1.1 Host: site-b.com攻击面推断从配置结构可以看出VHOST 的本质是以Host头为路由键的内部调度。因此凡是 Web 服务器层面信任Host头、或应用层把Host头 /X-Forwarded-Host头拼进 URL、邮件链接、缓存键的逻辑都可能成为攻击的入口——这一点在后文从枚举到利用一节会结合仓库其他文档展开。工具集四款主流 VHOST 扫描器仓库文档推荐了四款工具覆盖相似度比对、智能扫描、源站发现、字典爆破四种思路工具定位核心能力VhostFinder相似度比对通过响应相似度比较识别虚拟主机VHostScan智能扫描器可与 pivot 工具配合检测 catch-all通配默认页、别名与动态默认页场景hakoriginfinder源站发现找出反向代理背后的真实源站可用于绕过云 WAFgobuster通用爆破器目录/文件、DNS 与 VHost 爆破Go 编写性能出色hakoriginfinder结合 prips 扫描网段hakoriginfinder 用于发现反向代理背后的 origin 主机。配合prips枚举 CIDR 网段内所有 IP 的工具可以对目标所在网段批量探测真实源站prips 93.184.216.0/24 | hakoriginfinder -h https://example.com:443/foo该命令将93.184.216.0/24网段中的每个 IP 依次作为Host头进行请求通过与目标站点响应的比对定位真正承载业务的源站 IP——这类 IP 通常不在 CDN/WAF 的防护名单内。gobusterVHost 字典爆破gobuster 的vhost模式对目标 URL 循环替换Host头并比对响应是日常测试中最常用的 VHOST 枚举手段gobuster vhost -u https://example.com -w /path/to/wordlist.txt参数说明-u指定目标 URL需保证该 IP 可直接访问如 10.10.10.10 这类内网靶机-w指定子域名/主机名字典。gobuster 会对每个候选Host发送请求通过与默认主机响应的差异长度、状态码、标题判断是否存在有效 VHOST。方法论手工枚举与指纹识别手工构造 Host 头即使不依赖工具仅用 curl 修改Host头即可开始探测——将Host设置为其他已知或猜测的域名观察响应是否发生变化curl -H Host: admin.example.com http://10.10.10.10/对10.10.10.10这个 IP 而言默认请求可能返回主站点一旦Host命中某个隐藏的 VHOST如管理后台admin.example.com响应就可能截然不同。命中不同 VHOST 的常见判断指标以下是你正在访问另一个 VHOST的典型信号不同的 HTML 标题、meta 描述或品牌名称首页title或meta namedescription出现变化是最直接的证据不同的 HTTP Content-Length / 响应体大小页面字节数发生明显增减不同的状态码如 200 变为 403 或重定向某些 VHOST 会直接返回 403 或 302自定义错误页面命中不存在或受保护的 VHOST 时可能渲染专属的 404/403 页重定向链指向完全不同的域名例如请求某个 VHOST 时被 302 到login.internal.example证书中的 Subject Alternative NamesSAN从目标域名的 TLS 证书 SAN 字段可以直接枚举出同一证书下绑定的其他域名是 VHOST 发现的低成本入口。DNS 历史记录与源站绕过关键技巧利用 DNS 历史记录查阅目标域名过往绑定过的 IP 地址即 DNS 历史快照找到与其当前域名关联的旧 IP。随后将目标当前域名喷洒spray到这些历史 IP 上逐一测试Host头for ip in $(cat historical_ips.txt); do curl -s -H Host: victim.com http://$ip/ | head -20 done如果某个历史 IP 能正确响应victim.com的内容说明它才是服务器的真实地址。此时攻击者可以直接与该源站交互从而绕过 Cloudflare 或其他 WAF 的防护——因为流量不再经过代理层防护规则自然失效。这一技巧同样适用于前面 hakoriginfinder 的网段扫描思路。从枚举到利用Host 头相关的关联攻击面VHOST 枚举发现隐藏站点后攻击往往不止于多一个目标。仓库中其他文档展示了以Host/X-Forwarded-Host为载体的延伸利用可与 VHOST 枚举串联使用Host 头投毒密码重置链接劫持在 Account Takeover/README.md 的Account Takeover Through Password Reset Poisoning章节中攻击者在 Burp Suite 拦截密码重置请求后篡改Host与X-Forwarded-Host头POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: [ATTACKER.DOMAIN.TLD]如果应用使用Host头动态拼接密码重置链接受害者收到的邮件将包含攻击者可控的 URLhttps://[ATTACKER.DOMAIN.TLD]/reset-password.php?tokenTOKEN——受害者点击后重置令牌即被转发到攻击者域名形成完整的账户接管链。这与 VHOST 枚举的共同点是服务器/应用对Host头过度信任。X-Forwarded-Host 缓存投毒在 Web Cache Deception/README.md 中X-Forwarded-Host被列为典型的非缓存键un-keyed输入可用于缓存投毒。典型利用流程是先探测到该头未被纳入缓存键再构造如下请求GET /test?buster123 HTTP/1.1 Host: target.com X-Forwarded-Host: testscriptalert(1)/script若应用将X-Forwarded-Host拼入页面元数据且 CDN 缓存了响应后续访问同一 URL 的用户将加载被投毒的页面内容。这里的核心洞察与 VHOST 一致代理层与应用层对主机标识的解析不一致导致信任边界被突破——枚举阶段发现的隐藏 VHOST 往往是这些头被信任的高发区。参考来源关于 gobuster 用于目录、DNS 与虚拟主机爆破的详细方法论可参考 erev0s 于 2020 年 3 月 17 日发表的同名文章Virtual Hosting – A Well Forgotten Enumeration TechniqueWyatt Dahlenburg2022 年 6 月 16 日系统阐述了 VHOST 这一常被遗忘的枚举技术VhostFinder 工具亦出自该作者本文工具用法、指纹指标与 DNS 历史绕过技巧均以 Virtual Hosts/README.md 为准并可由仓库中 Account Takeover/README.mdHost 头投毒与 Web Cache Deception/README.mdX-Forwarded-Host 缓存投毒交叉印证。实践建议将 VHOST 枚举作为 Web 渗透的必做步骤——先扫 SAN 证书、再上 gobuster 字典爆破、最后结合 DNS 历史与 hakoriginfinder 定位源站命中隐藏站点后别忘了用 Host 头投毒与缓存投毒验证应用层是否同样信任这些头部从而把枚举面转化为真正的漏洞利用。赞分享网络安全应用安全渗透测试【免费下载链接】PayloadsAllTheThingsA list of useful payloads and bypass for Web Application Security and Pentest/CTF项目地址https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings点击查看免费下载相关推荐theHarvester 虚拟主机发现Virtual Host Discovery完整实战指南基于 Host 头与 SNI 的有界安全扫描theHarvester 虚拟主机发现Virtual Host Discovery完整实战指南基于 Host 头与 SNI 的有界安全扫描 导读 虚拟主机网络安全渗透测试Envoy VHDS虚拟主机发现服务深度解析基于 Delta xDS 的按需 Virtual Host 订阅机制Envoy VHDS虚拟主机发现服务深度解析基于 Delta xDS 的按需 Virtual Host 订阅机制 导读 Virtual Host Disc云原生服务网格网络微服务Fiber v3 Host Authorization 中间件实战指南基于 Host 白名单的 DNS 重绑定攻击防护Fiber v3 Host Authorization 中间件实战指南基于 Host 白名单的 DNS 重绑定攻击防护 导读 Host Authorizati后端Web框架上一篇从零上手以图搜图本地千万级图片秒级相似搜索与EXIF隐私清理完整避坑指南下一篇30分钟掌握ImageSearch本地千万级图库秒级以图搜图与EXIF隐私清理完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

RTX 5060分子对接与虚拟筛选实战:8GB显存下的性能边界与调优

RTX 5060分子对接与虚拟筛选实战:8GB显存下的性能边界与调优

1. 先搞清楚RTX 5060在分子模拟里到底扮演什么角色很多人一看到"RTX 5060能不能做分子对接"这个问题,第一反应是去查显卡天梯图、比CUDA核心数,然后得出一个"能跑"或"不能跑"的结论。这个思路本身就偏了。分子对接和虚拟筛…

2026/10/1 2:38:02 阅读更多 →
Symfony Console 的 RST 描述器:深入解析必填值选项(VALUE_REQUIRED)的文档生成机制

Symfony Console 的 RST 描述器:深入解析必填值选项(VALUE_REQUIRED)的文档生成机制

后端Web框架 【免费下载链接】symfony The Symfony PHP framework 项目地址: https://gitcode.com/GitHub_Trending/sy/symfony 点击查看 免费下载 在 Symfony PHP 框架的 Console 组件中,--option_name|-o 这样的命令行选项在帮助文档里如何被描述、格…

2026/10/1 2:38:02 阅读更多 →
深度学习必备线性代数核心:从矩阵乘法到梯度反向传播

深度学习必备线性代数核心:从矩阵乘法到梯度反向传播

1. 为什么深度学习入门的第一道坎,往往是数学?如果你刚开始接触深度学习,很可能已经遇到过这样的情况:教程里讲卷积神经网络(CNN)的时候,突然冒出来一个矩阵乘法;讲反向传播的时候&a…

2026/10/1 2:38:02 阅读更多 →

最新新闻

Docker部署实战:从环境、网络到数据卷的踩坑复盘

Docker部署实战:从环境、网络到数据卷的踩坑复盘

印象里有一次部署,我折腾了大半天:容器日志干干净净,端口也映射了,可宿主机就是访问不了服务。后来才发现根因不是配置写错,而是我对 Docker 网络的理解还停留在“映射端口等于把口子捅开”。其实这类问题特别普遍&…

2026/10/1 3:54:43 阅读更多 →
Scikit-Learn机器学习入门:环境、Pipeline与调优实战

Scikit-Learn机器学习入门:环境、Pipeline与调优实战

机器学习入门这件事,绕来绕去最后都会落到同一个工具上。很多人一开始被泛化误差界、梯度下降、正则化这些理论绕得晕头转向,好不容易鼓起勇气打开编辑器,结果发现连数据怎么读进来、模型怎么训练都无从下手。我自己当年也是这么走过来的&…

2026/10/1 3:54:43 阅读更多 →
Oracle与MySQL核心差异全解析:从架构、SQL到性能优化的面试指南

Oracle与MySQL核心差异全解析:从架构、SQL到性能优化的面试指南

不用纠结MySQL还是Oracle哪个更好用,对大数据开发来说,这两个库迟早都会遇到。面试问差异,本质是在考察你对数据库底层机制的理解深度,而不只是背几条语法区别。这篇把我这些年踩过的坑、面试官真正爱问的点、以及实际开发中最容易…

2026/10/1 3:54:43 阅读更多 →
UE4 DataAsset核心原理与高性能配置管理实践

UE4 DataAsset核心原理与高性能配置管理实践

1. 为什么DataAsset不是“另一个UObject”,而是UE4资源加载体系里的关键枢纽刚接触UE4资源管理时,我跟大多数人一样,把UDataAsset当成一个“带点数据的普通UObject”——建个类,继承UDataAsset,加几个变量,…

2026/10/1 3:54:43 阅读更多 →
GitHub README工程实践:从门面文档到协作协议层

GitHub README工程实践:从门面文档到协作协议层

1. 为什么一份 README 不是“可有可无的说明文件”,而是你 GitHub 项目的门面、说明书和信任状你刚在 GitHub 上新建了一个仓库,点开编辑框,光标在README.md文件里闪烁——这时候很多人会随手敲下“Hello World”,或者复制粘贴一段…

2026/10/1 3:54:43 阅读更多 →
Selenium自动化测试实战:核心逻辑、环境搭建与工程化方案

Selenium自动化测试实战:核心逻辑、环境搭建与工程化方案

如果你准备进入自动化测试领域,Selenium几乎是绕不开的第一个工具。无论是刚转行的测试新人,还是已经在功能测试岗位上做了几年的老手,简历上只要写上"Selenium",面试官通常都会默认你具备 UI 自动化能力。它的知名度高…

2026/10/1 3:53:42 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →