首页 > 其他分享 >burpsuite学院之api测试

burpsuite学院之api测试

时间:2024-06-20 14:23:48浏览次数:12  
标签:请求 api burpsuite API 文档 测试 端点 swagger

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请求方法是用来更新邮箱的接口。
至此,我们完成了第一个实验室。

标签:请求,api,burpsuite,API,文档,测试,端点,swagger
From: https://www.cnblogs.com/mzkznq/p/18258564

相关文章

  • 基于fastapi+vue登记系统
    1.创建fastapi项目2.创建vue项目npmcreatevue@latestcdwebnpminstallnpminstallelement-plus修改main.js注册elementui和routerimport'./assets/main.css'importAppfrom'./App.vue'import{createApp}from'vue'importrouterfrom......
  • 独家|GenAI年中回顾,2024网络内容审核的API实战指南
    GenAI,即生成式人工智能,正在不断推动各个领域的创新和发展。一、年中回顾2024年被称为视频生成技术的爆发之年,各类GenAI在全球范围引领了一波又一波的潮流,真称得上是神仙打架。让我们共同回顾2024上半年的GenAI有哪些主要表现,并讨论,大量AI生成内容的涌现,又对互联网内......
  • 一、浅谈自动化测试基础
    1.数据驱动思想:实现数据与脚本代码的分离操作,将数据存储在指定的数据格式文件或数据库中,如Excel、Json、Yaml、Mysql等。2.关键字驱动思想:基于数据驱动思想实现进一步的封装,以行为动作驱动业务。将每一步操作封装在单独的类、单独的函数中,一个函数或者一个类中的方法......
  • CH9141功耗测试
    测试结果:CH9141芯片,BLE-TPT-B-ANT模块,基于3.6版本序号广播间隔平均功耗(uA)1100ms3852200ms2103500ms9541s55.652s32.2 连接间隔,无实际数据传输序号连接间隔平均功耗(uA)17.5ms2210215ms11103100ms1934500ms63......
  • API接口开发系列:店铺所有商品、商品详情、SKU价格详情图
    一、店铺所有商品API接口概述:店铺所有商品API接口是一种用于获取指定店铺下所有商品信息的接口。API接口接入(taobao2024api)通过这个接口,开发者可以获取商品的详细信息,包括商品的基本信息、价格、库存等关键属性,以满足前端展示和用户需求。接口设计:请求方式:通常采用GET请求......
  • 探索京东API接口:京东API接口概述丨京东API接口的特点
    一、引言在数字化快速发展的今天,电商行业已经成为全球经济的重要组成部分。而在这个庞大的生态系统中,API(应用程序接口)接口扮演着至关重要的角色。作为电商行业的领军者之一,京东不仅拥有庞大的商品库和完善的物流体系,还提供了丰富的API接口,API接口接入(taobao2024api)帮助开发者......
  • 京东商品详情API接口,jd/item_get(属性规格Sku详情图等)
    京东商品详情API接口是京东开放平台提供的一项重要服务,API接口接入(taobao2024api)它允许第三方开发者通过调用API接口,获取京东平台上商品的详细信息。以下是关于京东商品详情API接口的清晰介绍:1.接口概述功能:用于获取京东商品的详细信息,如商品标题、价格、促销信息、图片、规......
  • 基于小程序056大学生心理健康测试系统微信小程序项目(源码+文档+运行视频+讲解视频)
    前言......
  • api-ms-win-shcore-scaling-l1-1-1.dll解析及缺失解决策略:确保Windows高DPI显示正常
    api-ms-win-shcore-scaling-l1-1-1.dll是Windows操作系统中的一个API接口库文件,属于WindowsShellCommonDLLs(Shell核心动态链接库)的一部分。这个特定的DLL文件与Windows的高DPI(每英寸点数)缩放功能紧密相关,支持应用程序在不同分辨率和缩放设置下正确显示界面元素,确保UI的清晰......
  • 敏捷测试:具体方法和实践
    敏捷测试:方法和实践前言传统测试VS敏捷测试敏捷团队组织架构敏捷迭代生命周期敏捷迭代周期概览敏捷测试周期工作表敏捷测试人员必备素质开发阶段:静态测试测试阶段:递增型迭代测试总结前言Wikipedia对敏捷测试的定义:敏捷测试是遵守敏捷开发原则之下的......