热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AppScanapi登录接口postman_API测试简单谈一下API测试工具Postman

最近由于项目需求需要做API测试,所以这里简单记录一下,如果其他朋友也要用到可以做一个参考。什么是API测试?API测试用于测试API收到

最近由于项目需求需要做 API 测试,所以这里简单记录一下,如果其他朋友也要用到可以做一个参考。

什么是 API 测试?

API测试用于测试API收到合理参数,被调用后是否能够以预期的格式返回正确的结果。在测试中尤其需要关注API对服务虚拟化是否能够作出适当的处理:比如对一个不合理的输入抛出合适错误、对极端的输入也能够在可以接受的响应时间内给出正确应答或是能够妥善应对潜在安全攻击(如XSS攻击)。

API 测试包括直接针对 API 本身进行的测试和将API置于实际应用环境,将API与其服务的用户逻辑一同进行集成测试两种。

此类测试包括针对表现层状态转换(SOAP)应用程序接口、Web服务,企业服务总线、数据库、大型机、网页(及其UI),以及企业资源计划等相关系统的测试。

API 测试工具

目前比较流行的 API 测试工具有:

  • Postman
  • SoapUI
  • Katalon Studio

由于 Postman 支持 Linux、macOS、Windows 多平台,所以我下载了 Postman 来进行测试。

Postman 下载地址:

https://www.postman.com/downloads/

Postman 使用方法

5393efb7495684119daed77dfff3f8da.png

如果你比较熟悉 burpsuite 的话,Postman 应该很好上手。

019f92de50c9ba3679995ea83d615345.png

Postman 左侧展示请求记录,右侧是一个「浏览器」,你可以通过不同的 HTTP Method 发送请求,并且可以非常方便的修改包括 Params(参数)、Authorization(认证)、Header(头部字段)、Body、Pre-request(JS 脚本)等在内的数据。

自动化 API 测试

这里要特别指出的是,Postman(Free edition)只是一个让你方便的构造 API 请求的工具,本身并不提供 API 漏洞检测的功能,那么 API 测试方法有两种:

  • Postman 手工测试
  • Postman 搭配 Burpsuite 等工具进行自动化检测

因为 Postman 本质上就是一个浏览器,所以也可以通过配置代理将请求数据发送到 Burpsuite,然后通过 Burpsuite 的扫描模块进行自动化检测。

c0945f9e029efab3a4d11ddea75e19e1.png

如果每个 API 请求中都包含一个一次性生成的 access_tokensignature 之类的字段,那么可以通过 Postman 的 Pre-request 模块中 JS 编程的动态生成,也可以通过 Burpsuite 搭配格外的脚本来生成。

如何发送 Json 格式的请求?

有些接口只接受 Json 格式的数据,这时候我们需要调整 Postman 配置来发送 Json 格式的请求。

  1. 选择 Post 请求方式,同时将 header 的 content-type 设置为 application/json(如果没有就自行添加):
d046bb7d76e6e4185a5a22e6c8d91d5b.png

2. Body 选择 raw 格式,右侧选择 JSON:

42406b0c8bf173cf649e860b972460d4.png

3. 接下来就可以直接写 Json 格式的数据了:

024e547b90f6745f177d2653612f607b.png

由于项目保密相关,这里就不记录 API 测试实际分析的过程了,今天就简单记录到这里,如果你觉得文章还不错的话可以关注我或者我的专栏,会定期分享一下安全类的技术文章。



推荐阅读
  • scrcpy通过adb调试的方式来将手机屏幕投到电脑上,并可以通过电脑控制您的Android设备。它可以通过USB连接,也可以通过Wifi连接(类似于隔空投屏),而且不需要任何ro ... [详细]
  • 本文介绍了NetCore WebAPI开发的探索过程,包括新建项目、运行接口获取数据、跨平台部署等。同时还提供了客户端访问代码示例,包括Post函数、服务器post地址、api参数等。详细讲解了部署模式选择、框架依赖和独立部署的区别,以及在Windows和Linux平台上的部署方法。 ... [详细]
  • 跨站的艺术XSS Fuzzing 的技巧
    作者|张祖优(Fooying)腾讯云云鼎实验室对于XSS的漏洞挖掘过程,其实就是一个使用Payload不断测试和调整再测试的过程,这个过程我们把它叫做F ... [详细]
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • express工程中的json调用方法
    本文介绍了在express工程中如何调用json数据,包括建立app.js文件、创建数据接口以及获取全部数据和typeid为1的数据的方法。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • Python已成为全球最受欢迎的编程语言之一,然而Python程序的安全运行存在一定的风险。本文介绍了Python程序安全运行需要满足的三个条件,即系统路径上的每个条目都处于安全的位置、"主脚本"所在的目录始终位于系统路径中、若python命令使用-c和-m选项,调用程序的目录也必须是安全的。同时,文章还提出了一些预防措施,如避免将下载文件夹作为当前工作目录、使用pip所在路径而不是直接使用python命令等。对于初学Python的读者来说,这些内容将有所帮助。 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • adfs是什么_培训与开发的概念
    adfs是什么_培训与开发的概念(如您转载本文,必须标明本文作者及出处。如有任何疑问请与我联系me@nap7.com)ADFS相关开发技术的中文资料相对匮乏,之前在弄这个东西的时候 ... [详细]
  • 本文摘自JavaGuide。1、简单易学;2、面向对象(封装,继承,多态);3、平台无关性(Java虚拟机实现平台无关性);4、可靠性;5、安全性;6、支持多线程(C++语言没有内 ... [详细]
  • 安卓及谷歌官网不容易上,在此整理好下载地址,这样就可以直接用迅雷下载了。Eclipse最新Mars版Eclipse(暂时还没被墙)Mac版:http:www.eclipse.org ... [详细]
  • jvm内存区域与溢出为什么学习jvm木板原理,最短的一块板决定一个水的深度,当一个系统垃圾收集成为瓶颈的时候,那么就需要你对jvm的了解掌握。当一个系统出现内存溢出,内存泄露的时候 ... [详细]
  • ZOC7 for Mac 7.25.6 好用的终端仿真器
    zoc7mac破解版是一个专业的SSH和Telnet客户端和终端模拟软件,以出色的配置和用户界面而闻名。凭借其令人印象深刻的仿真和功能,通过使用选项卡式会话,键入命令历史记录,回滚 ... [详细]
  • 2月4日每日安全热点节日期间某企远程办公遭XRed攻击 ... [详细]
author-avatar
混迹潘_442
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有