《身份认证漏洞排查实战指南》
第4章 信息收集阶段
📘 4. 信息收集阶段:目标域名/子域名收集、认证端点发现
在身份认证漏洞排查的实战中,信息收集是决定后续渗透成败的关键第一步。本阶段的核心目标是:摸清攻击面、定位认证入口、理解认证数据流。我们将从域名收集、端点发现、流量分析、抓包工具使用四个维度展开。
🔍 4.1 目标域名与子域名收集
子域名收集是扩大攻击面的核心手段。许多组织将测试环境、管理后台、API网关部署在子域名上,而这些子域名往往存在弱认证或未授权访问。
| 收集方法 | 工具/命令 | 说明 |
|---|---|---|
| 搜索引擎 | Google dork: site:example.com -www |
快速发现公开子域名 |
| DNS枚举 | dnsrecon -d example.com |
通过DNS记录发现子域名 |
| 证书透明度 | crt.sh / curl -s "https://crt.sh/?q=%.example.com" |
从SSL证书日志中提取子域名 |
| 暴力枚举 | ffuf -w subdomains.txt -u http://FUZZ.example.com |
基于字典的快速爆破 |
🔐 4.2 认证端点发现
认证端点是最敏感的攻击目标。常见的认证端点路径包括:
- /login —— 传统表单登录
- /auth —— OAuth/OpenID Connect 授权端点
- /sso —— 单点登录入口
- /token —— 令牌颁发/刷新端点
- /logout —— 注销(可能暴露会话管理缺陷)
- /register —— 注册(可能存在用户枚举)
- /reset-password —— 密码重置(常见逻辑漏洞)
发现技巧:
- 使用
gobuster dir -u https://target.com -w common_auth_paths.txt进行路径爆破 - 分析前端JavaScript文件中的API路由(如
/api/v1/auth/login) - 检查HTML源码中的隐藏表单 action 属性
- 使用Burp Suite的 Target → Site map 自动爬取
📡 4.3 HTTP请求/响应分析
对认证请求的深度分析是发现漏洞的关键。重点关注以下内容:
| 分析维度 | 关注点 | 潜在风险 |
|---|---|---|
| 请求方法 | GET vs POST 传递凭证 | GET请求可能泄露密码到日志 |
| 请求头 | Authorization, Cookie, X-CSRF-Token | 硬编码Token、弱CSRF保护 |
| 请求体 | JSON/XML格式、密码明文传输 | 密码明文、参数注入 |
| 响应状态码 | 200 OK / 401 Unauthorized / 403 Forbidden | 用户枚举(不同错误信息) |
| 响应体 | 错误消息、Token泄露、调试信息 | 信息泄露、堆栈跟踪 |
实战示例: 分析一个典型的登录请求
POST /api/v1/auth/login HTTP/1.1
Host: target.com
Content-Type: application/json
User-Agent: Mozilla/5.0
{
"username": "admin",
"password": "P@ssw0rd123",
"rememberMe": true
}
HTTP/1.1 200 OK
Set-Cookie: session=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...; HttpOnly
{
"token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 3600
}
🔎 分析要点:密码明文传输、JWT Token未加密、Cookie未设置Secure标志。
🛠️ 4.4 使用Burp Suite / Fiddler 抓包
抓包工具是渗透测试者的“听诊器”。以下是两种主流工具的配置与使用要点:
🟠 Burp Suite
- Proxy → Intercept:拦截并修改请求
- Repeater:重放请求,测试参数
- Intruder:暴力破解/枚举
- Target → Scope:限定目标范围
- Decoder:解码JWT/Base64
常用快捷键: Ctrl+R 发送到Repeater,Ctrl+I 发送到Intruder
🔴 Fiddler
- AutoResponder:模拟响应
- Composer:构造自定义请求
- Filters:过滤特定域名/状态码
- Inspectors:查看请求/响应详情
- FiddlerScript:自定义规则
HTTPS解密: 需安装Fiddler根证书,开启Decrypt HTTPS traffic
📋 4.5 实战检查清单
在信息收集阶段结束时,请确保完成以下检查项:
- ✅ 收集了至少 50个 子域名(使用多种来源交叉验证)
- ✅ 发现了所有公开的认证端点(/login, /auth, /sso, /token, /logout, /register, /reset-password)
- ✅ 使用Burp Suite/Fiddler成功拦截并分析了至少 3个 认证请求
- ✅ 记录了所有请求的 Method, Headers, Body, Response Code, Response Body
- ✅ 检查了是否存在 JWT Token、Session Cookie、CSRF Token 等关键凭证
- ✅ 确认了传输层是否使用 HTTPS(无HTTPS则直接高危)
—— 信息收集越充分,后续渗透越从容 ——