# 认证态 IDOR 越权与同体系政务子域名安全扫描报告 > **测试时间**:2026-03-10 > **测试目标**:`zfcg.czt.fujian.gov.cn` 及同体系 `*.fujian.gov.cn` 子域名 --- ## 一、认证态 API 越权测试 ### 1.1 Token 传递机制分析 | 方式 | 结果 | 说明 | |------|------|------| | Cookie: `access_token=` | ❌ code 5560 | Token 无效 | | Header: `Authorization: Bearer ` | ❌ 空响应 | 被网关静默忽略 | | 两者同时使用 | ❌ 无效 | 网关不接受 | **分析**:网关层(OpenResty + Spring Gateway)的 Token 认证机制可能依赖以下额外要素: 1. **网关 Session Cookie**:OAuth 回调后网关可能生成独立的 session ID 2. **Token 加密/签名**:Token 在浏览器与网关间可能经过二次加密 3. **IP 绑定**:Token 可能绑定了签发时的客户端 IP **风险评估**:🟢 低危 — 这种机制实际上**增强了安全性**,即使 Token 被窃取(XSS),攻击者也无法在外部直接使用 Token 调用 API(除非同时窃取了网关 session)。 ### 1.2 checkToken 端点信息泄露 ``` POST /gateway/api/oauth/checkToken Response: {"msg":"404 NOT_FOUND \"No matching handler\"","code":"-1","status":500} ``` - **风险**:🟡 中危 — 泄露了后端 Spring 框架的错误信息格式 - **建议**:返回通用错误消息,隐藏框架细节 --- ## 二、Host 头注入测试 ### 2.1 测试结果 | 测试 | Host 值 | 结果 | 风险 | |------|---------|------|------| | 替换 Host | `evil.com` | ✅ 正常返回页面内容 | 🟡 缓存投毒 | | X-Forwarded-Host | `evil.com` | 空响应 | ✅ 被过滤 | | 双重 Host | 正常 + evil | 正常返回 | 🟡 | | HTTP 请求走私 | CL.TE | 405 Not Allowed | ✅ 被拒绝 | ### 2.2 Host 头注入风险分析 服务器在收到 `Host: evil.com` 时仍然返回了完整的页面内容(HTML),这意味着: 1. OpenResty 的 `server_name` 配置可能使用了通配符或 `default_server` 2. 如果前方有 CDN 或反向代理缓存,攻击者可利用此特性进行**缓存投毒** 3. 如果页面中使用了 `Host` 头生成链接(如密码重置邮件链接),可导致**开放重定向** **建议**:在 Nginx/OpenResty 配置中添加 Host 头严格校验: ```nginx if ($host !~* ^(zfcg\.czt\.fujian\.gov\.cn)$) { return 444; } ``` --- ## 三、同体系政务子域名安全扫描 ### 3.1 安全配置对比矩阵 | 域名 | CSP | HSTS | X-Frame-Options | X-Content-Type | WAF (SQLi) | Actuator | |------|-----|------|----------------|---------------|------------|----------| | **zfcg.czt.fujian.gov.cn** | ❌ 缺失 | ❌ | ❌ (主页) | ❌ | WAF DROP | 401 | | rst.fujian.gov.cn (人社厅) | ✅ frame-ancestors | ❌ | ✅ SAMEORIGIN | ❌ | ✅ 493 | 493 | | slt.fujian.gov.cn (水利厅) | ✅ frame-ancestors | ❌ | ✅ SAMEORIGIN | ❌ | ✅ 493 | 493 | | zjt.fujian.gov.cn (住建厅) | ✅ frame-ancestors | ❌ | ✅ SAMEORIGIN | ❌ | ✅ 493 | 493 | | sthjt.fujian.gov.cn (生态环境厅) | ✅ frame-ancestors | ❌ | ✅ SAMEORIGIN | ❌ | ✅ 493 | 493 | | mzt.fujian.gov.cn (民政厅) | ✅ frame-ancestors | ❌ | ✅ SAMEORIGIN | ❌ | ✅ 493 | 493 | | tjj.fujian.gov.cn (统计局) | ✅ frame-ancestors | ❌ | ✅ SAMEORIGIN | ❌ | ✅ 493 | 493 | ### 3.2 关键发现 **A. 统一 WAF 防护(HTTP 493)** 所有 `*.fujian.gov.cn` 子域名对恶意请求(SQL 注入探测、Actuator 路径访问)统一返回 **HTTP 493**(自定义状态码),表明福建省政务网站群部署了**统一的 WAF 防护平台**。 > [!IMPORTANT] > `zfcg.czt.fujian.gov.cn`(政采网)未走此统一 WAF,而是使用自己的 OpenResty 层做防护。这造成了防护标准不统一的风险。 **B. CSP frame-ancestors 白名单暴露了完整政务网站拓扑** 从 CSP 头中我们可以提取完整的政务网站关系图: ``` 福建省政府门户 (www.fujian.gov.cn / www.fj.gov.cn) ├── 平台管理 (ptgl.fujian.gov.cn) ├── 人社厅 (rst.fujian.gov.cn) ├── 水利厅 (slt.fujian.gov.cn) ├── 住建厅 (zjt.fujian.gov.cn) ├── 生态环境厅 (sthjt.fujian.gov.cn) ├── 交通运输厅 (jtyst.fujian.gov.cn) ├── 农业农村厅 (nynct.fujian.gov.cn) ├── 民政厅 (mzt.fujian.gov.cn / mzzjt.fujian.gov.cn) ├── 教育厅 (jyt.fujian.gov.cn) ├── 科技厅 (kjt.fujian.gov.cn) ├── 体育局 (tyj.fujian.gov.cn) ├── 应急厅 (yjt.fujian.gov.cn) ├── 统计局 (tjj.fujian.gov.cn) ├── 海洋渔业局 (hyyyj.fujian.gov.cn) ├── 商务厅 (swt.fujian.gov.cn) ├── 林业局 (lyj.fujian.gov.cn) ├── 自然资源厅 (zrzyt.fujian.gov.cn) ├── 司法厅 (sft.fujian.gov.cn) ├── 财政厅 (czt.fujian.gov.cn) │ └── 政府采购 (zfcg.czt.fujian.gov.cn) ← 本次评估目标 ├── 市场监管局食药监 (yjj.scjgj.fujian.gov.cn) └── 国际化域名 (xn--imr30xzi13b942dz5d08ej3e.xn--zfr164b) ``` **C. 所有子域名共同缺陷** | 缺陷 | 影响 | 建议 | |------|------|------| | ❌ 无 HSTS | 全体易受 SSL 剥离 | 统一部署 HSTS | | ❌ 无 X-Content-Type-Options | MIME 嗅探风险 | 添加 nosniff | | CSP 使用 HTTP + HTTPS | CSP 白名单过宽 | 仅保留 HTTPS | --- ## 四、综合风险发现 ### 本轮新增风险 | # | 风险项 | 等级 | 章节对照 | |---|--------|------|----------| | R-01 | Host 头注入(缓存投毒) | 🟡 中危 | Ch7 服务器配置 | | R-02 | checkToken 泄露 Spring 框架信息 | 🟡 中危 | Ch7 | | R-03 | 政采网未走统一 WAF (493) | 🟡 中危 | Ch7/Ch9 | | R-04 | CSP 白名单暴露政务网站拓扑 | 🟡 中危 | Ch3 信息泄露 | | R-05 | 全省政务网站无 HSTS | 🟡 中危 | Ch4 HTTPS | | R-06 | Token 双重保护机制 | ✅ 安全 | Ch5 会话管理 | ### 累计风险统计(全部 12 轮测试) | 等级 | 数量 | 新增 | |------|------|------| | 🔴 紧急 | 5 | 0 | | 🔴 高危 | 6 | 0 | | 🟡 中危 | 21 | +6 | | 🟢 低危 | 3 | 0 | | ✅ 安全 | 5 | +1 | --- ## 五、建议 1. **政采网应接入全省统一 WAF**(HTTP 493 机制),统一防护标准 2. **OpenResty 配置 Host 头严格校验**,拒绝不匹配的 Host 3. **全省政务网站统一部署 HSTS** 4. **CSP 白名单移除 HTTP,仅保留 HTTPS 源** 5. **API 错误响应统一化**,隐藏框架细节