渗透测试之API接口测试
原创作者:TrueBW,作者博客:https://blog.csdn.net/weixin_39190897接口测试API:Application Programming Interface,即应用程序编程接口。接口就是一个位于复杂系统之上并且能简化你的任务,它就像一个中间人让你不需要了解详细的所有细节。那我们今天要讲的Web API就是这么一类东西。像谷歌搜索系统,它提供了搜索接口,简化了你的搜索任务。再像用户登录页面,我们只需要调用我们的登录接口,我们就可以达到登录系统的目的。一个API中通常包含的结构有:结构释义Method请求方法URL唯一资源定位符Params请求参数Authorization认证方式Headers请求消息头Body消息体本文记录的是Postman(API 接口测试工具)学习,以及一些接口测试概念。帮助大家建立接口测试的整体概念,以及学会Postman工具的使用。
接口测试的作用:
接口测试的内容:
接口测试工具Postman的特点:使用简单,上手快,很适合调试;但保存请求,批量运行时,执行速度慢,建议使用Jmeter工具。PostmanPostman直接官网下载: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加密,然后返回服务器,服务器也用这个随机数对密码进行加密,然后和客户端传送过来的加密数据进行比较,如果一致就返回结果。_____ end _____关注公众号:HACK之道