burpsuite学院之api测试

打印 上一主题 下一主题

主题 915|帖子 915|积分 2745

API(应用程序编程接口)使软件体系和应用程序能够进行通信和共享数据。API 测试非常重要,因为 API 中的漏洞可能会破坏网站的机密性、完整性和可用性的核心方面。所有动态网站都由 API 组成,因此SQL 注入等经典 Web 漏洞可以归类为 API 测试。在本主题中,我们将教您如何测试网站前端未充分使用的 API,重点是 RESTful 和 JSON API。
一.api侦探
要开始 API 测试,首先需要尽可能多地找出有关 API 的信息,以发现其攻击面。
首先,您应该确定 API 端点。这些是 API 接收有关其服务器上特定资源的哀求的位置。例如,考虑以下GET哀求:
GET /api/books HTTP/1.1
Host: example.com
此哀求的 API 端点是/api/books。这将导致与 API 的交互以从图书馆检索书籍列表。另一个 API 端点可能是,例如, /api/books/mystery它将检索神秘书籍列表。
确定端点后,您需要确定如何与它们交互。这使您能够构建有效的 HTTP 哀求来测试 API。例如,您应该找出有关以下内容的信息:
1.API 处理惩罚的输入数据,包括逼迫参数和可选参数。
2.API 接受的哀求类型,包括支持的 HTTP 方法和媒体格式。
3.速率限定和身份验证机制。
二.api文档
API 通常会有文档记录,以便开辟职员知道如何使用和集成它们。
文档既可以采用人可读的形式,也可以采用呆板可读的形式。人可读文档旨在帮助开辟职员了解如何使用 API。它可能包括详细的说明、示例和使用场景。呆板可读文档旨在由软件处理惩罚,以自动执行 API 集成和验证等任务。它以 JSON 或 XML 等布局化格式编写。
API 文档通常是公开的,特别是当 API 旨在供外部开辟职员使用时。如果是这种情况,请始终通过检察文档来开始侦探。
1.发现 API 文档
即使 API 文档未公开,您仍旧可以通过欣赏使用该 API 的应用程序来访问它。
为此,您可以使用Burp Scanner来抓取 API。您也可以使用 Burp 的欣赏器手动欣赏应用程序。查找可能引用 API 文档的端点,例如:
/api
/swagger/index.html
/openapi.json
如果您确定了资源的端点,请务必调查根本路径。例如,如果您确定了资源端点 /api/swagger/v1/users/123,则应调查以下路径:
/api/swagger/v1
/api/swagger
/api
第一个靶场:

在实验开始前请挂上burpsuite,如果不会配置欣赏器的burpsuite代理,使用burpsuite的内置欣赏器打开实验也可以,我就是使用burp内置欣赏器打开的实验。

要解决该实验,请找到公开的 API 文档并删除carlos。您可以使用以下凭据登录到您自己的帐户:wiener:peter。根据实验室的提示可以看看my acount这个按钮。

根据提示,输入账户信息

发现可以更新自己的邮箱

在burp的哀求history功能中看到了一个疑似与api有关的哀求

可以看到该哀求包是用于更新邮箱的

还记得在api测试的理论学习中的这句话吗?
如果您确定了资源的端点,请务必调查根本路径。例如,如果您确定了资源端点 /api/swagger/v1/users/123,则应调查以下路径:
/api/swagger/v1
/api/swagger
/api
没错,它给了我们启发。
我们把/api后面的参数删掉,继续进行哀求试试
复制链接用欣赏器打开。
发现了一个rest api的功能。

可以看到这个rest api已经把如何使用它进行哀求很明白地告诉我们了。

点击get会发现这内里内嵌了哀求工具,发现使用get哀求就是获取到用户的个人信息


使用delete方法就是删除用户。那么我们如果使用delete哀求,就可以删掉carlos用户了。


而末了一个options哀求方法是用来更新邮箱的接口。
至此,我们完成了第一个实验室。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

反转基因福娃

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表