Ubuntu下用 Postman 开展 API 安全测试
一 环境与安装
二 测试前准备
三 核心安全测试用例与 Postman 实现 下表给出常见安全测试点与 Postman 中的落地方式(示例断言用 pm.test):
| 测试点 | 目的 | Postman 操作与示例 |
|---|---|---|
| 传输安全与证书 | 确认启用 HTTPS/TLS 且禁用不安全协议 | URL 使用 https;在 Tests 断言状态码与响应时间;如需验证证书固定,可在请求设置中启用证书校验或与代理联动分析握手与证书链 |
| 认证与会话 | 验证 JWT/OAuth2/Basic 的获取、刷新与失效 | 使用 Collection Auth 或手动在 Headers 设置:Authorization: Bearer {{access_token}};在 Tests 校验 401/403 未授权访问;OAuth2 按流程获取 access_token/refresh_token 并复用 |
| 授权与越权 | 校验 水平/垂直越权 | 同一资源用不同用户 token 请求,断言返回的数据范围与 403 行为一致且符合最小权限原则 |
| 输入验证与注入 | 发现 SQLi/XSS/命令注入 等 | 在 Params/Body 构造 payload:如 name=’ OR ‘1’='1;comment=;在 Tests 观察异常状态码、错误信息与响应差异 |
| 错误处理与信息泄露 | 防止泄露 堆栈、路径、密钥 | 在 Tests 断言 4xx/5xx 响应不包含 stack trace、DB 错误、内部路径、密钥 等敏感信息 |
| 速率限制与滥用防护 | 验证 429/限流 策略 | 短时间内重复请求,断言 429 与 Retry-After;结合 Collection Runner 或脚本做并发与间隔控制 |
| 敏感数据暴露 | 检查 响应头/体 是否泄露敏感信息 | 在 Tests 断言响应头不含 Server/X-Powered-By 等指纹;响应体不含 password、secret、key 等字段 |
| 文件上传安全 | 验证 类型、大小、MIME 校验与存储安全 | 使用 form-data 上传合法/非法扩展名与内容,断言 415/400 与存储路径隔离、无执行权限 |
| 安全头缺失 | 校验 CSP/HSTS/XXSS/Referrer-Policy 等 | 在 Tests 断言 Content-Security-Policy、Strict-Transport-Security、X-XSS-Protection、X-Frame-Options、Referrer-Policy 等头存在且配置合理 |
上述用例中的 认证/输入验证/错误处理/HTTPS 等可在 Postman 中直接构造与断言;复杂场景建议与 Burp/ZAP 联动进行模糊与扫描。
四 自动化与批量执行
五 合规与注意事项