如何使用burpsuite渗透测试rest api?

How to pentest rest apis using burpsuite?

我想渗透测试 rest api,我的用例是连接到服务器的客户端(具有用户名和密码的桌面应用程序)。所以我对从哪里开始以及如何配置打嗝感到困惑。通常我使用 burp 来渗透测试网站,配置起来相当容易,你只需在浏览器中设置代理和拦截,但现在用例不同了。 此外,我在 google 上做了一些搜索,我注意到 postman 被多次提到,我知道它是一个构建 api 的工具,但它是否也用于 burp 的渗透测试?

如你所知,burp 拦截一个 http/s 协议网络,它不是拦截网络流量的工具。因此,为了实现您的目标,您可以使用 wireshark 或其他方式来查找软件 rest api 端点。 之后,您可以像以前一样使用 burp 开始渗透测试。

所以 如何在 wireshark 中找到 rest api 端点? 您可以使用以下模式过滤网络结果:

tcp.port==443

首先确认应用程序正在通过 HTTP/HTTPS 进行通信可能很有用,以确保 Burp 是正确的工具。

如果您已有 Postman 文档,Postman 仅可用于渗透测试。这听起来不像这里的情况,所以我不担心。

假设桌面应用确实使用 HTTP,您需要做两件事:

  1. 更改系统级代理设置以指向 Burp (127.0.0.1:8080)
  2. 安装并信任 Burp CA 证书(可从 http://burp:8080 本地获取)。

在某些情况下,您可能需要在 Burp 中启用 'invisible proxying'。

根据客户端的类型,这可能一开始并不总是有效,但如果客户端支持代理,您应该会在 Burp window 中看到流量。请注意您在 Burp 中的仪表板,如果您看到 TLS 警告,这可能表明客户端使用了证书固定,并且客户端可能需要进行一些逆向工程。