渗透测试-API接口测试
接口测试
API:Application Programming Interface,即应用程序编程接口。接口就是一个位于复杂系统之上并且能简化你的任务,它就像一个中间人让你不需要了解详细的所有细节。那我们今天要讲的Web API就是这么一类东西。像谷歌搜索系统,它提供了搜索接口,简化了你的搜索任务。再像用户登录页面,我们只需要调用我们的登录接口,我们就可以达到登录系统的目的。
一个API中通常包含的结构有:
结构 | 释义 |
---|---|
Method | 请求方法 |
URL | 唯一资源定位符 |
Params | 请求参数 |
Authorization | 认证方式 |
Headers | 请求消息头 |
Body | 消息体 |
本文记录的是Postman(API 接口测试工具)学习,以及一些接口测试概念。帮助大家建立接口测试的整体概念,以及学会Postman工具的使用。
接口测试的作用:
接口测试的内容:
接口测试工具Postman的特点:
- 使用简单,上手快,很适合调试;
- 但保存请求,批量运行时,执行速度慢,建议使用Jmeter工具。
Postman
Postman直接官网下载:https://www.postman.com/downloads/,双击自动安装,打开注册后即可运行。
Postman的界面如下:
Get请求
直接看一个Get请求类型的API接口测试实例,以下是接口开发文档对接口参数的具体描述:
Postman新建请求后直接发送以下接口测试请求:
【注意】对于GET请求,可以直接点击Params,输入多个参数名称及value(键对值),即可自动添加在URL链接上,如下图所示:
关于接口开发文档,测试过程中可以找开发人员要,格式参考:API接口文档。
【注意】进行API接口安全测试时,一般不需要安全人员自己构造数据包, 客户会提供一个测试demo程序(HTML网页形式的),demo中已包含所有功能已经构造好的数据包,只需在页面上直接改请求参数内容然后点发送即可。因为客户自己的测试人员平时做业务功能测试时,也都是有现成的测试 demo的,不可能在Postman中一个一个手动构造请求去测试。
Post请求
同样直接看一个Post请求类型的API接口测试实例,以下是接口开发文档对接口参数的具体描述:
Postman新建请求后直接发送以下接口测试请求:
【注意】上述请求头是根据请求参数的形式自动生成的。请求头中的Content-Type与请求参数的格式之间是有关联关系,比如:
添加请求头
对于某些API接口,可能需要添加特定的请求头信息进行身份认证才能进行访问,比如 Sign、Token、Cookie、Authorization
等。在Postman中可直接通过 Headers
添加(以下实例的sign值为“用户名+密码”的32位MD5值):
或者使用专门的 Authorization
模块进行添加:
图示的几种身份认证方式简述如下:
认证方式 | 简述 |
---|---|
No Auth | 即不需要认证,这是默认选中的 |
Bearer Toker | 填写Token进行验证 |
Basic Auth | 输入用户名和密码,直接明文发送数据 |
Digest Auth | 摘要认证,在基本身份认证上面扩展了安全性 |
OAuth 2.0 | 一个开放授权协议,详情参见理解OAuth 2.0 |
这里补充下摘要认证方式:消息摘要式身份认证在基本身份认证上面扩展了安全性,服务器为每一个连接生成一个唯一的随机数,客户端用这个随机数对密码进行MD5加密,然后返回服务器,服务器也用这个随机数对密码进行加密,然后和客户端传送过来的加密数据进行比较,如果一致就返回结果。
更多推荐
所有评论(0)