第2章 接口安全测试环境搭建

做接口安全测试,工具就是你的双手。Burp Suite、Postman、curl 这三件套,几乎覆盖了所有场景。我个人习惯先搭环境再动手,因为中间的代理和证书配置特别容易踩坑。这一章我就带你一步步装好,配好,跑通。

2.1 工具选型与定位

先聊一下各自定位。Burp Suite 是拦截代理,专门抓HTTPS流量,修改和重放都很方便。Postman 擅长构造请求、组织测试用例,适合做自动化验证。curl 则轻量,适合脚本集成和快速调试。等保合规要求下,这三者各司其职:Burp 做中间人攻击测试,Postman 做合规检查脚本,curl 验证边界情况。

工具 核心能力 等保场景
Burp Suite Community HTTP/HTTPS 拦截与修改 敏感信息泄露、会话劫持测试
Postman 请求构造、集合执行 权限绕过、参数校验自动化
curl 命令行请求,脚本集成 免登录访问、时间盲注等

2.2 安装工具

我建议顺序是:先装 Burp Suite,再装 Postman,最后检查 curl 是否已存在。因为 Burp 的代理是整个环境的核心。

  • Burp Suite:下载 Community 版,Windows 直接 .exe 安装。启动后默认端口 8080。我第一次用时没改端口,结果跟本地服务冲突了……所以建议检查一下 8080 有没有被占用。
  • Postman:直接装桌面版。安装后不用急着开,等代理配好再启动。
  • curl:Windows 10/11 自带 curl.exe,命令行运行 curl --version 验证。Linux/Mac 预装。如果没有,去官网下载二进制。

2.3 配置代理

说白了,就是让流量全部经过 Burp 的“眼睛”。

  1. Burp 端设置:Proxy → Proxy Settings → Add listener。IP:127.0.0.1,端口:8080。勾上“Support invisible proxying”在某些场景下有用。
  2. 浏览器代理:我习惯用 Chrome 的 SwitchyOmega 插件,新建一个代理配置:HTTP 127.0.0.1:8080。访问 http://burp 可测试连通性。
  3. Postman 代理:File → Settings → Proxy,勾上“Use custom proxy”,写 HTTP 127.0.0.1:8080。不勾 HTTPS 的那项——证书问题容易烦,后面我们单独配。
提示:Postman 也支持命令行参数 -x,在做自动化测试时可以动态传代理地址。

2.4 证书配置

等保测试经常涉及 HTTPS 接口,Burp 必须装上自己的 CA 证书才能解密流量。这一步是新手最容易翻车的地方。

  • 导出证书:浏览器配置代理后,访问 http://burp → CA Certificate → 下载 .der 文件。
  • 浏览器导入:Chrome 设置 → 隐私与安全 → 安全 → 管理证书(受信任的根证书颁发机构)→ 导入。我遇到过 Windows 系统提示证书已损坏,其实是格式不对,记得选 “Base64 编码 X.509 (.cer)” 重新导出。
  • Postman 导入证书:Settings → Certificates → CA Certificates → Add。选择刚才的 .der 文件。
  • 系统信任:Linux 下扔到 /usr/local/share/ca-certificates/,然后 update-ca-certificates。Mac 双击证书后在钥匙串里改成“始终信任”。
注意:测试完成后务必移除该测试证书,否则浏览器会一直信任 Burp 这个中间人,留下安全隐患。

2.5 验证环境是否就绪

来,跑几个命令确认每个工具都能正常工作。

# 1. Burp 上开启 Intercept 为 On,浏览器访问 https://www.baidu.com
# 2. 在 Burp 的 HTTP history 里应该能看到 HTTPS 请求,并且 Request 和 Response 都是明文

# 3. curl 通过代理验证
curl -v -x http://127.0.0.1:8080 https://api.example.com/health

# 4. Postman 发一个请求,在 Burp 里确认它也过来了

我曾经有一次死活看不到流量,最后发现是 Burp 的监听器只绑了 127.0.0.1,而 Postman 用了 localhost(解析为 ::1 走了 IPv6)。把这个绑定改成 0.0.0.0 或者明确用 IPv4 就解决了。

2.6 整体环境关系

下面这张图总结了工具之间的流量走向和证书依赖关系。你可以把它当成一张地图,出了问题按图索骥。

接口安全测试环境搭建流程与依赖 安装 Burp Suite 安装 Postman 安装 / 验证 curl 配置 Burp 代理监听 导出 Burp CA 证书 浏览器 / Postman 导入证书 验证 HTTPS 流量 配置完成后,所有工具通过 Burp 代理进行 HTTPS 请求,证书链保证流量可解密

避坑指南

最后聊几个我反复掉进去的坑。

  • 端口被占用:启动 Burp 报错 8080 端口被占用?大概率是 Hyper-V 或 Docker 抢了。我一般换成 8888 或 9090。
  • 证书不信任:Chrome 会提示 NET::ERR_CERT_AUTHORITY_INVALID。按 2.4 节的步骤重新导入证书,注意要导入到“受信任的根证书颁发机构”,而不是“个人”。
  • Postman 不走代理:检查 Postman 设置里是否勾选了“使用系统代理”。如果你配了自定义代理,记得把 HTTPS 代理也填成 HTTP 格式,因为 Burp 的代理端口同时处理 HTTP 和 HTTPS。
  • curl 忽略证书:测试时可以用 curl -k 跳过验证,但等保合规中必须走完整证书链。最终测试报告里要移除 -k 参数。