当前位置:网站首页 > 技术博客 > 正文

api测试是什么意思



API全称为Application Interface,是应用程序对外提供功能的接口,现在主要有三种api风格,分别是JSON风格的api,RESTful风格的api以及Graphic风格的api

JSON风格

请求获取用户信息

RESTful风格

请求获取用户信息

请求修改用户信息

Graphic风格

请求获取用户信息

API测试这种漏洞主要包含了对开放api期望运行逻辑的破坏以及对未开放的api的检测和调用,导致的危害可能有敏感信息泄露,应用行为被改变等
这篇文章主要讨论JSON和RESTful APIs
当你在测试一个api的时候,关注下面这些点:




  • api接收并处理的数据,包括必需的和可选的
  • api接受的请求类型,包括请求方法和media formats
  • 速率限制和认证机制

使用不同的请求方法

HTTP1.0定义了三种请求方法: GET、POST、HEAD

  • 方法请求一个指定资源的表示形式,使用 的请求应该只被用于获取数据。
  • 方法请求一个与 请求的响应相同的响应,但没有响应体。
  • 方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用。
    HTTP1.1新增了六种请求方法:OPTIONS、PUT、DELETE、TRACE 、CONNECT、PATCH

  • 方法用于描述目标资源的通信选项。
  • 方法用有效载荷请求替换目标资源的所有当前表示。
  • 方法删除指定的资源。
  • 方法沿着到目标资源的路径执行一个消息环回测试。
  • 方法建立一个到由目标资源标识的服务器的隧道。
  • 方法用于对资源应用部分修改。

使用不同的Content-Type

  • 用途:用于 JSON 格式的数据传输,常用于 RESTful API。
  • 用途:用于 HTML 格式的数据传输,常用于 Web 页面响应。
  • 用途:用于 HTML 表单提交的编码方式,将表单数据编码为键值对。
  • 用途:用于文件上传表单的编码方式,允许同时上传文件和其他数据。
  • 用途:用于纯文本数据传输,没有特殊的格式化要求。
  • 用途:用于 XML 格式的数据传输。
  • 用途:用于传输 JavaScript 代码。
  • 用途:用于传输二进制数据,不指定特定的文件格式,通常用于文件下载。
  • 用途:用于传输 JPEG 格式的图像文件。
  • 用途:用于传输 PNG 格式的图像文件。

最关键的一段代码是:

  • 如果不想你的api被公开地访问,保管好你的文档
  • 确保你的文档足够全面,允许合法测试人员收集全面的攻击面
  • 设置允许接受的http方法
  • 验证收到的请求或响应是期望的格式
  • 使用普遍的报错信息以避免泄露有价值的信息
  • 对所有版本的api设置防御措施,而不仅仅是当前主要版本
  • 将用户可以修改的属性列入白名单,用户不能修改的敏感属性列入黑名单

  • 上一篇: teraterm怎么输命令
  • 下一篇: 打印机wsd port
  • 版权声明


    相关文章:

  • teraterm怎么输命令2025-09-25 12:30:02
  • 开关电源初级电容炸了2025-09-25 12:30:02
  • 电骡设置教程2025-09-25 12:30:02
  • linux so动态库2025-09-25 12:30:02
  • 大家来找茬安卓下载2025-09-25 12:30:02
  • 打印机wsd port2025-09-25 12:30:02
  • 格式化字符串%n2025-09-25 12:30:02
  • ftrl算法2025-09-25 12:30:02
  • 新建okr的过程中,我们的o可能来自2025-09-25 12:30:02
  • linux fb02025-09-25 12:30:02