☰
第7章_阶段6_HTTP探测与价值评估
2026/10/6 2:50:20 网站建设 项目流程

第7章 阶段6:HTTP 探测与价值评估

本篇定位:子域名挖掘流程的第六阶段。前五步从 DNS 层面确认了"有没有这个子域"。但 DNS 存在不等于有价值——一个子域可能解析成功,HTTP 探测返回 404、403、502——这些状态码的挖掘意义完全不同。这一步把"DNS 存活的子域"筛选为"HTTP 层面有价值的目标"。

阅读建议:如果你做过批量 HTTP 探测,可以跳到 7.5 价值分级看分级标准。如果是新手,按顺序读——7.1 到 7.4 是四道探测工序,7.5 把探测结果汇总成分级。


7.0 方法论框架

HTTP 探测在全局流程里的位置:

阶段5:DNS 清洗(可信子域 + IP 列表) ──→ 【阶段6:HTTP 探测与价值评估】 ──→ 阶段7:输出与监控 │ ├── 探测策略(协议、方法、顺序) ├── 状态码语义(判断服务状态) ├── 重定向链跟踪(发现新子域) ├── TLS 证书二次分析(发现新子域) └── 价值分级(高/中/低/信息/CDN 后)

什么是 HTTP 探测

HTTP 探测(HTTP Probing),指的是对清洗后的子域名做 HTTP/HTTPS 请求,根据响应判断子域是否"存活"且"有价值"。

为什么在最后

清洗解决的问题清洗没解决的问题
DNS 层面是否存活HTTP 层面是否存活
是否命中通配符服务返回什么状态码
CNAME 链终点重定向链指向哪里
IP 是否 CDN证书 SAN 有没有新子域
—这个子域值不值得打

关键认知:DNS 存在不等于有价值。一个子域名 DNS 解析成功,但 HTTP 探测可能返回 404(空站)、403(禁止访问/WAF)、502(后端故障)、301(重定向到别处)。HTTP 探测的价值是"从 DNS 存活筛选到 HTTP 有价值"。

四个环节概览

HTTP 探测

探测策略

http-first

https-only

http-only

UA 伪装

超时控制

状态码语义

2xx 正常服务

3xx 重定向

4xx 权限/禁止/不存在

5xx 服务异常

重定向链跟踪

自动跟随

记录每一跳

提取新子域

TLS 证书二次分析

抓取证书

提取 SAN

对比已有列表

探测的本质

前五步解决"有没有这个子域",这一步解决"值不值得打"。价值分级是这一步的核心输出——不是所有子域都值得深入,分级帮你分配精力。


7.1 探测策略

前置知识

HTTP 请求方法回顾

HTTP 请求方法(HTTP Method)告诉服务器客户端要做什么:

方法含义和探测的关系
GET请求资源最常用,服务器返回完整页面
HEAD只请求头不返回 body,速度快——适合批量探测
POST提交数据不适合探测——可能触发业务逻辑
OPTIONS查询支持的方法部分服务器返回允许的方法

HTTP/HTTPS 回顾

基础知识05讲过 TLS 基础——HTTPS 是 HTTP over TLS,在 HTTP 下面加了一层加密。探测时要同时考虑 HTTP 和 HTTPS——有些子域只开 HTTP(没配证书),有些只开 HTTPS(HTTP 自动重定向到 HTTPS)。

是什么

决定用什么协议(HTTP/HTTPS)、什么方法(GET/HEAD)、什么顺序探测清洗后的子域列表。

为什么

不同策略的覆盖面和效率不同:

策略覆盖效率遗漏风险
http-first先 HTTP,自动重定向到 HTTPS中部分只开 HTTPS 的可能漏(如果重定向关闭)
https-only只测 HTTPS高只开 HTTP 的漏掉
http-only只测 HTTP高只开 HTTPS 的漏掉

怎么做

三种策略对比:

策略怎么做适合场景
http-first先请求 HTTP(80),如果返回 3xx 重定向到 HTTPS,自动跟随不确定目标开了什么,想全覆盖
https-only只请求 HTTPS(443),忽略 HTTP确定目标都开了 HTTPS,或只关心 HTTPS
http-only只请求 HTTP(80),不测 HTTPS目标只开 HTTP,或历史快照分析

推荐策略:http-first——先 HTTP,自动重定向到 HTTPS。覆盖面最广。

技巧

技巧做法价值
自动跟随重定向客户端配置自动跟随 3xx不漏掉 HTTPS 子域
UA 伪装用常见浏览器 UA避免被 WAF 按非浏览器 UA 拦截
超时控制连接超时 5s,读取超时 10s避免慢响应拖慢批量探测
HEAD 优先批量探测先用 HEAD,快的先过提高效率,再对存活的做 GET

注意事项

事项说明
HTTPS 证书错误要忽略自签证书或过期证书不代表服务不存在——忽略证书错误继续探测
部分子域只开 HTTP没配 HTTPS 的子域,https-only 策略会漏掉
部分子域只开 HTTPS强制 HTTPS 的子域,http-only 策略会漏掉
HEAD 可能被拒部分服务器不接受 HEAD 请求——返回 405,要切 GET 重试

7.2 状态码实战语义

前置知识

HTTP 状态码分类回顾

HTTP 状态码(Status Code)是服务器响应的第一行数字,表示请求结果:

分类含义典型状态码
1xx信息101(协议切换)
2xx成功200、201、204
3xx重定向301、302、307
4xx客户端错误401、403、404、405
5xx服务端错误500、502、503

是什么

从 HTTP 状态码判断子域的挖掘价值——是正常服务、管理后台、还是空站。

为什么

状态码暴露了服务状态:

状态码意味着挖掘价值
200正常服务高——有可探测的接口和页面
401需要认证高——有登录入口,可尝试爆破
403禁止访问高——可能是管理后台,也可能是 WAF
404不存在低——可能是空站,也可能是默认 404 页面
500服务器内部错误中——后端有异常,可能暴露调试信息
502网关错误中——后端服务故障,可能暴露真实后端
301/302重定向中——重定向链可能暴露新子域

怎么做

2xx(成功):

状态码含义处理
200正常响应高价值——记录页面标题、响应体大小
201资源创建成功可能是 API 接口
204无内容可能是 API 接口,返回空 body

3xx(重定向):

状态码含义处理
301永久重定向记录 Location 头,提取目标子域
302临时重定向记录 Location 头,提取目标子域
307保持方法重定向同 302

4xx(客户端错误):

状态码含义处理
401需要认证高价值——有登录入口,记录 WWW-Authenticate 头
403禁止访问高价值——可能是管理后台或 WAF,要重试
404不存在低价值——但要看是不是自定义 404 页面
405方法不允许换 GET 重试

5xx(服务端错误):

状态码含义处理
500内部错误中价值——可能暴露调试信息、堆栈跟踪
502网关错误中价值——后端故障,可能暴露真实后端 IP
503服务不可用低价值——服务维护中

技巧

技巧做法价值
401/403 重试用不同 UA 重试区分 WAF 拦截和真管理后台
404 不一定没用看响应体是不是自定义 404有些 404 页面暴露了框架信息
5xx 可能是真实后端502/503 时看响应头 Server后端故障时可能暴露真实服务器信息
多方法探测GET 返回 405 时换 POST/PUT/DELETE发现隐藏的 API 接口

注意事项

事项说明
WAF 干扰WAF 可能对所有非浏览器 UA 返回 403——要换 UA 重试
CDN 缓存干扰CDN 缓存了 404 页面——实际后端可能不是 404
状态码可能变化第一次 503 的子域,重试可能变 200——服务恢复了
默认页面新部署的服务可能返回 200 但内容是默认欢迎页

7.3 重定向链跟踪

前置知识

HTTP 重定向机制

HTTP 重定向(Redirection)是服务器告诉客户端"你要的资源不在这里,去那个地址"。机制是服务器返回 3xx 状态码,在响应头Location字段里写上新地址。客户端按Location重新请求——可能又是一轮 3xx——形成链条。

重定向链概念

重定向链(Redirect Chain)是指一连串的 3xx 重定向:A → B → C → D。链条的起点是原始 URL,终点是最终返回非 3xx 的页面。链条中间的每一跳可能是一个新子域。

关键认知:重定向链是 HTTP 探测里"被动发现新子域"的机会。原始子域old.example.com可能重定向到new.example.com——new是之前没发现过的子域。跟踪链条的每一跳,从 Location 头里提取子域名,是 HTTP 探测的副产物。

是什么

跟踪 3xx 重定向链,从链条中间节点的 Location 头里提取新子域名。

为什么

重定向链可能暴露新子域——A 重定向到 B,B 是未发现的子域。常见场景:旧域名重定向到新域名、HTTP 重定向到 HTTPS、未认证重定向到登录页、子域名重定向到主站。

怎么做

第一步:自动跟随重定向

配置 HTTP 客户端自动跟随 3xx 重定向,记录每一跳:

跳数URL状态码Location
1http://old.example.com301https://new.example.com
2https://new.example.com302https://www.example.com/login
3https://www.example.com/login200—(终点)

第二步:记录每一跳的 URL

从每一跳的 Location 头里提取 URL,解析出子域名:

跳数Location 头提取的子域
1https://new.example.comnew.example.com(新发现)
2https://www.example.com/loginwww.example.com(已有)

第三步:从中间节点提取子域名

把发现的新子域加入已有列表,进入阶段4进阶发现做递归。

技巧

技巧做法价值
多级重定向跟踪跟踪到最终非 3xx 页面只看第一跳会漏掉后面的
JavaScript 跳转检测看响应体有没有location.href或meta refreshHTTP 客户端不跟 JS 跳转,要单独检测
认证重定向未登录重定向到登录页登录页域名可能是新子域
对比新旧子域重定向链里的子域和已有列表对比只提取新子域

注意事项

事项说明
循环重定向A→B→A 的循环——要设最大跳数(通常 10 跳)
JavaScript 跳转HTTP 客户端不执行 JS——location.href跳转检测不到
登录重定向干扰未登录全部重定向到登录页——登录页子域反复出现
CDN 重定向CDN 根据地理位置重定向到不同节点——不是新子域

7.4 TLS 证书二次分析

前置知识

TLS 证书回顾

基础知识05讲过 TLS 基础——HTTPS 握手时服务器返回证书,证书里有 SAN(Subject Alternative Name)列表,列出这张证书覆盖的所有域名。

SAN 二次发现概念

阶段2被动发现用 CT Logs 查证书 SAN——查的是公开证书日志里历史签发的证书。这里做的是 HTTPS 握手时实时拿证书——查的是当前服务器实际使用的证书。两者数据来源不同:

对比CT Logs(阶段2)TLS 握手(阶段6)
数据来源公开证书日志实时握手获取
覆盖所有签发过的证书服务器当前用的证书
时间维度历史(包括已过期的)当前
发现价值大范围覆盖小范围,但更实时

CT Logs 覆盖历史所有证书,TLS 握手只拿当前证书——为什么要再查?因为有些证书不在 CT Logs 里(自签证书、内部 CA 签发的证书、未提交到 CT 的证书),只有 HTTPS 握手时才暴露。

自签证书与证书过期

证书类型说明挖掘价值
CA 签发公开 CA 签发,在 CT Logs 里阶段2 已覆盖
自签证书服务器自己签的,不在 CT Logs 里阶段2 查不到——只有 TLS 握手能发现
内部 CA 签发组织内部 CA 签发,不公开阶段2 查不到——TLS 握手能发现
过期证书证书已过期,但服务还在用证书 SAN 仍可提取

关键认知:TLS 证书二次分析的核心价值是发现"CT Logs 没有的证书"。自签证书和内部 CA 签发的证书不在公开日志里,只有 HTTPS 握手时才暴露——这些往往是内部服务,价值更高。

是什么

在 HTTP 探测时分析 HTTPS 握手返回的 TLS 证书,从 SAN 列表里发现新子域。

为什么

证书来源阶段2 CT Logs阶段6 TLS 握手
公开 CA 签发✓✓
自签证书✗✓
内部 CA 签发✗✓
过期证书✓(历史有)✓(仍在用)

TLS 握手能发现 CT Logs 覆盖不到的证书——自签证书和内部 CA 证书。

怎么做

第一步:抓取 HTTPS 响应的证书

对每个开 HTTPS 的子域做 TLS 握手,抓取服务器返回的证书。

第二步:提取 SAN 列表

从证书的 Subject Alternative Name 字段提取所有域名:

子域证书 SAN
api.example.comapi.example.com,admin.example.com,internal.example.com

第三步:对比已有子域列表

SAN 里的域名已有列表处理
api.example.com已有跳过
admin.example.com没有新发现,加入列表
internal.example.com没有新发现,加入列表

技巧

技巧做法价值
自签证书更真实自签证书往往是内部服务内部服务价值高
证书过期≠下线过期证书的子域可能仍在用不要因过期就丢弃
SNI 影响不带 SNI 的握手可能返回默认证书带正确 SNI 握手拿真实证书
通配符证书识别SAN 只有*.example.com的不暴露具体子域跳过通配符证书

注意事项

事项说明
通配符证书不暴露具体子域SAN 只有*.example.com——和 CT Logs 一样不暴露
CDN 证书干扰CDN 节点返回 CDN 的证书,不是目标的——SAN 是 CDN 的域名
部分服务不发证书只开 HTTP 的服务没有证书
证书可能随时更换证书有有效期,过段时间可能换了新证书

7.5 价值分级体系

前置知识

攻击面概念

攻击面(Attack Surface)是指一个系统暴露给攻击者的所有入口点。子域名是攻击面的一部分——每个子域可能暴露不同的入口:登录页(可爆破)、API 接口(可测注入)、管理后台(高权限)、静态资源(低价值)、调试页面(信息泄露)。价值分级就是评估每个子域暴露了什么类型的攻击面。

是什么

根据探测结果(状态码 + CNAME + IP 归属 + 标题)对子域做价值分级,帮你分配精力。

为什么

不是所有子域都值得深入。100 个 DNS 存活的子域里,可能只有 20 个是高价值目标。分级帮你把精力集中在高价值目标上,不在低价值目标上浪费时间。

怎么做

五级分级:

等级定义典型特征
高价值管理后台、API 接口、认证服务200 + 标题含 admin/console/dashboard;401/403
中价值业务功能页面、内部服务200 + 标题含业务关键词;500(可能泄露调试信息)
低价值静态资源、CDN 缓存200 + 响应体小 + 静态文件;CNAME 指向 CDN
信息价值空站、已下线、自定义 404404;502/503;200 但内容是默认页
CDN 后资产IP 归属 CDN,看不到真实后端CNAME 指向 CDN;IP 归属 CDN ASN

判定矩阵(状态码 × CNAME 类型 × 标题关键词 → 等级):

状态码CNAME 类型标题关键词等级
200无 CNAME(自有 IP)admin/console/dashboard高
200无 CNAME(自有 IP)api/swagger/graphql高
401/403无 CNAME(自有 IP)任意高
200无 CNAME(自有 IP)业务关键词中
500无 CNAME(自有 IP)任意中
200CDN任意低或 CDN 后
404任意任意信息
502/503无 CNAME任意中(后端故障)
任意悬挂 DNS任意高(可接管)

技巧

技巧做法价值
多维度综合分级状态码 + CNAME + IP 归属 + 标题 + 响应体大小单一维度会误判
标题关键词匹配维护高价值关键词表(admin/api/console/swagger)快速识别高价值目标
响应体大小对比和默认 404 页面大小对比识别自定义 404
CDN 判断要准IP 归属 ASN 判断,不能只看 CNAME部分 CDN 用自有 CNAME

注意事项

事项说明
CDN 判断要准确IP 归属 CDN ASN 才是 CDN 后资产——CNAME 不一定指向 CDN
动态服务状态码变化第一次 503 的子域,重试可能变 200——服务恢复了
自定义 404返回 200 但内容是"not found"——要对比响应体
分级是快照当前是低价值不代表以后是——服务可能更新

7.6 阶段输出

输出1:带价值分级的子域列表

字段说明示例
子域名探测过的子域名admin.example.com
协议HTTP/HTTPSHTTPS
状态码HTTP 响应码401
标题页面标题Admin Login
CNAME 链CNAME 记录无
IP 归属IP 的 ASNAS37963(自有)
价值等级高/中/低/信息/CDN 后高
备注补充信息可能是管理后台

输出2:高价值目标清单

字段说明示例
子域名高价值子域admin.example.com
价值原因为什么高价值401 + 标题含 admin
建议动作下一步做什么尝试登录爆破
风险提示注意什么可能有 WAF

输出3:CDN 后资产清单

字段说明示例
子域名CDN 后的子域cdn.example.com
CDN 名称CDN 厂商Cloudflare
真实 IP 状态是否找到真实 IP未找到
建议动作下一步做什么CDN 绕过尝试

输出4:新发现子域

字段说明示例
子域名新发现的子域new.example.com
发现方法怎么发现的重定向链 / TLS 证书 SAN
来源子域从哪个子域发现的old.example.com重定向链
处理下一步加入列表,进入阶段4递归

7.7 与其他阶段的衔接

输出流向

带价值分级的子域列表 ──→ 阶段7:输出与监控(归档) 高价值目标清单 ──→ 阶段7:输出与监控(重点跟踪) CDN 后资产清单 ──→ 后续 CDN 绕过章节 新发现子域 ──→ 阶段4:进阶发现(回路,做递归)

新发现子域的回路

HTTP 探测可能发现新子域——重定向链和 TLS 证书 SAN 都是新子域的来源:

来源怎么发现回路
重定向链Location 头里的子域回到阶段4进阶发现做递归
TLS 证书 SAN证书 SAN 里的子域回到阶段4进阶发现做递归

清洗没解决的问题

清洗解决了HTTP 探测解决
DNS 是否存活HTTP 是否存活
是否通配符假阳性是什么状态码
CNAME 链终点重定向链指向哪里
IP 是否 CDN证书 SAN 有没有新子域
—这个子域值不值得打

CDN 后资产的去向

CDN 后资产在 HTTP 探测阶段只能标注——IP 是 CDN 的,看不到真实后端。后续的 CDN 绕过方法(历史 DNS、邮件服务器、子域名接管等)留到专门的章节。

关键认知:HTTP 探测是流程里"从存报到有价值"的转折点。前五步收集的是"DNS 层面的资产清单",HTTP 探测把它变成"HTTP 层面的攻击面清单"。价值分级后的高价值目标清单,才是真正进入漏洞挖掘阶段的起点。


下一篇:第8章——踩坑实录,实战中的陷阱与预防。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询