API安全测试 | Postman + BurpSuite 配置证书代理
img
在对使用基于证书的身份验证的 API进行安全你测试时,需要将证书添加到我们的工具(如 Postman 和 Burp Suite)中。这样我们才能够在客户端和服务器之间代理请求进行分析,以便评估 API 的安全性。
在本文我们将介绍将证书和私钥合并到 Postman 以进行身份验证的步骤。我们还将介绍如何以 pkcs12 格式包含客户端证书,以便使用 Burp Suite 进行无缝流量拦截。
目录
•前提条件条件 | 环境准备
•将客户端证书导入 Postman
•在 Postman 中配置代理
•将客户端证书导入 Burp Suite
前提条件条件 | 环境准备
•客户端证书文件
•私钥文件
•Burp Suite(免费版或专业版)
•postman
将客户端证书导入 Postman
要在 Postman 中添加证书,我们需要从其官方网站下载 Postman Desktop 代理。此应用程序是跨平台的,支持 Windows、Linux 和 MacOS。
•下载链接:https://www.postman.com/downloads[1]
下载 Postman 后,打开 Workspace 仪表板,单击齿轮图标进入“设置”菜单。在“证书”部分中,单击“添加证书”按钮。
img
img
然后,我们输入证书信息,包括证书文件(通常为.crt
、.pem
或.cer
格式)和私钥文件(为.key
或.pem
格式)。如果证书使用密码,我们也需要提供密码。
输入所有必需的详细信息后,我们可以点击“添加”。这将在客户端证书部分下添加新证书,可以从设置中访问,如下图所示。
img
img
现在 Postman 将在发送到“test.com”域的所有 HTTPS 请求中包含客户端证书。为了验证这一点,我们使用 HTTPS 向域发送请求并在控制台中检查证书。
图 5 — 显示在 Postman 中发送 HTTPS 请求 — r3dbuck3t
图 6 — 显示在 Postman 控制台中检查客户端证书 — r3d-buck3t.com
在 Postman 中配置代理
添加客户端证书后,我们需要设置 Postman 代理请求到 Burp Suite。为此,我们再次导航到“设置”菜单,单击“代理”部分,然后启用“使用自定义代理配置”的切换按钮。
之后,选择代理类型为 HTTP 和 HTTPS,并指定代理服务器的 IP 地址(在本例中为本地主机),输入 127.0.0.1,并将 Burp Suite 的端口号指定为 8080(默认端口)。
图 7-显示 Postman 中的代理设置 — r3d-buck3t
将客户端证书导入 Burp Suite
将证书添加到 Burp Suite,我们需要命令 OpenSSL 将证书和私钥文件捆绑为 pkcs12 格式。如果私钥使用密码,OpenSSL 会要求输入密码。
sudo openssl pkcs12 -export -out cert.pfx -inkey private.key -in certificate.crt
它还会要求输入提取证书时所需的导出密码。记住导出密码很重要,因为我们稍后将证书添加到 Burp 时会需要它。
图 8 — 显示将文件转换为 pkcs12 — r3d-buck3t
接下来,我们进入 Burp 设置,在网络部分下,导航到 TLS > 客户端证书。我们点击“添加”,选择证书类为“PKCS#12”,然后单击下一步。
img
img
我们在格式中选择刚刚转换的证书.pfx
,并提供我们在转换文件时使用的导出密码。正确加载后,我们将收到“证书已成功加载”的消息。
img
img
完成这些步骤后,我们就可以使用 Burp 拦截来自 Postman 的 HTTPS 请求了。
今天的文章就到这里,感谢阅读!
参考
•https://blog.postman.com/set-and-view-ssl-certificates-with-postman/
•https://learning.postman.com/docs/getting-started/basics/navigating-postman/#console
无偿获取网络安全优质学习资料与干货教程
申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。