# 渗透测试摘要（Executive Summary，详版）— MTMS
**方法论**：OWASP WSTG v4.2、OWASP Top 10:2021、PTES；风险评分：CVSS v3.1  
**范围**：Web（Flutter 前端/Node API）、认证授权、文件上传与 3D 预览、工作流/报销/采购/仓储、后台管理  
**时间**：2025-09-02

## 1. 规则（RoE）
- 非破坏性；生产数据最小化触达；禁止 DoS；需要测试账号（普通/管理员）；允许 Read‑Only 漏洞验证脚本。

## 2. 测试大纲（对齐 WSTG）
- 配置与部署（WSTG‑CM）：服务器/平台基线、目录遍历、CSP/CORS、安全头部。  
- 身份鉴别与授权（WSTG‑ATH/AUTHZ）：认证强度、会话管理、MFA、RBAC 与资源级授权。  
- 输入验证（WSTG‑INP）：注入（SQL/NoSQL/命令/模板）、反序列化、XXE。  
- 业务逻辑（WSTG‑BUSL）：审批状态绕过、重复提交、并发条件竞争。  
- 客户端（WSTG‑CLNT）：XSS、Clickjacking、DOM 污染。  
- API 安全（WSTG‑API）：不可预期的 4xx/5xx、开放式对象引用、速率限制与幂等。  
- 文件与对象存储：MIME/魔数、扩展名混淆、隔离域与下载头、内容嗅探。

## 3. 关键发现与整改（示例，去敏）
| 编号 | 风险 | 严重度 | 证据摘要 | 根因 | 修复建议 |
|---|---|---:|---|---|---|
| P‑01 | 认证限速不足 | 高 | 同源 500+ 次密码尝试均未触发冻结/告警 | 防爆破策略缺失 | 启用基于账号/IP 的速率限制与渐进延迟、验证码动态化、失败锁定 |
| P‑02 | IDOR 越权 | 高 | 修改报销单 `id` 可获取他人记录 | 缺少资源级鉴权 | 强制以 `userId/role` 与单据状态做后端校验；关键操作加签 |
| P‑03 | 上传解析风险 | 高 | 特制文件在预览时被浏览器解释 | 下载头/隔离域缺失 | 启用独立域名+`Content-Disposition: attachment`+MIME/魔数校验+沙箱 |
| P‑04 | CORS 过宽 | 中 | `Access-Control-Allow-Origin:*` 且 `credentials:true` | 配置不当 | 白名单域名；禁止 `*` 与凭证并用 |
| P‑05 | 日志含敏感信息 | 中 | 登录失败日志含手机号明文 | 日志规范缺失 | 日志脱敏与最小化；建立只读审计库 |

**30/60/90 天路线图**：  
- **30 天**：防爆破/验证码、资源级鉴权、CORS 白名单、日志脱敏、依赖升级。  
- **60 天**：上传沙箱/隔离域名、备份加密与恢复演练、统一密钥管理。  
- **90 天**：SAST/DAST/SCA 全面接入、红蓝演练、关键流程威胁建模。

## 4. 验收与复测标准
- 关键/高危项关闭需：PoC 失效+日志可见+监控有告警；抽样复测通过并纳入回归测试。

## 5. 参考（可查）
- OWASP WSTG v4.2、OWASP Top 10:2021、PTES、CVSS v3.1。

