温馨提示×

Ubuntu下Postman如何进行安全测试

小樊
40
2026-01-08 15:37:06
栏目: 智能运维

Ubuntu下用 Postman 开展 API 安全测试

一 环境与安装

  • Ubuntu 上安装 Postman:从官网下载 Linux tar.gz,解压至 /opt,并创建软链以便命令行启动。
    • 示例:tar -xvf Postman-linux-x64-.tar.gz
    • sudo mv Postman /opt
    • sudo ln -s /opt/Postman/bin/postman /usr/local/bin/postman
  • 也可通过 Snap 安装:snap install postman(适合快速部署,注意权限与更新策略)。
  • 首次启动可点击“Skip and go to the app”跳过登录,便于在隔离环境开展测试。

二 测试前准备

  • 导入接口契约:使用 Postman 的 Import 导入 OpenAPI/Swagger 文件(JSON/YAML),自动生成请求集合,便于系统化安全用例设计。
  • 组织与变量:用 Collection 管理用例,用 Environment 管理 base_url、token、secret 等变量;登录后将 JWT/Bearer 写入环境变量,后续请求统一引用,便于权限与多环境切换。
  • 代理与联动:将 Postman 流量经 Burp Suite/ZAP/Mitmproxy 代理,结合其 Intruder/Scanner/Repeater 做批量模糊、被动扫描与请求篡改;Postman 负责构造合法请求与自动化,代理负责深度安全分析。注意仅测试获授权的目标。

三 核心安全测试用例与 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/限流 策略 短时间内重复请求,断言 429Retry-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 联动进行模糊与扫描。

四 自动化与批量执行

  • Tests 中编写 pm.test 断言,对状态码、响应头、响应体结构与关键字进行校验,形成可重复的安全回归用例集。
  • 使用 Collection Runner 批量运行用例,结合数据文件(CSV/JSON)做参数化与批量变异;为登录等前置步骤编写 Pre-request Script 自动获取与刷新 token
  • 将请求导出为 cURL 命令,便于在服务器或 CI 环境复现与审计;与代理工具联动时,导出请求用于对比分析与二次重放。

五 合规与注意事项

  • 仅对获得明确书面授权的目标开展测试,遵守法律与规章;避免对生产数据造成破坏或泄露。
  • 避免在生产环境开启写入/删除类操作;使用测试专用账号与隔离环境,必要时通过代理的范围控制与日志审计降低风险。
  • 对发现的漏洞按流程负责任披露,并协助修复与复测闭环。

0