201-A27-API接口测试
2023年 08月 04 日

BIGFISH

一 WSDL类

  • WSDL描述Web服务的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述;也就是描述与目录中列出的Web服务进行交互时需要绑定的协议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。
  • WSDL 元素基于XML语法描述了与服务进行交互的基本元素:
Type(消息类型):数据类型定义的容器,它使用某种类型系统(如 XSD)。
Message(消息):通信数据的抽象类型化定义,它由一个或者多个 part 组成。
Part:消息参数
Operation操作):对服务所支持的操作进行抽象描述,WSDL定义了四种操作: 1.单向(one-way):端点接受信息;2.请求-响应(request-response):端点接受消息,然后发送相关消息;3.要求-响应(solicit-response):端点发送消息,然后接受相关消息;4.通知(notification):端点发送消息。
Port Type(端口类型):特定端口类型的具体协议和数据格式规范。
Binding:特定端口类型的具体协议和数据格式规范。
Port:定义为绑定和网络地址组合的单个端点。
Service:相关端口的集合,包括其关联的接口、操作、消息等。
通过命令可下载CsharpVulnSoap靶机
wget http://volatileminds.net/CsharpVulnSoap.ova

img

  • 将页面请求通过burpsuite抓包后,使用Wsdler模块即可解析请求。 img

img
img

  • 解析出HTTP请求后,剩下的该怎么挖洞就怎么挖了:)

img

二 API接口类

市面上常见的API请求构建工具形式有独立的桌面程序、命令行程序、浏览器扩展、Web服务等几种,比较著名的API请求构建工具有Postman、Swagger Inspecter、Soap UI、Apigee等等。国内有一些公司也通过Web服务的方式提供API测试功能,例如网易数帆的GoAPI,还有像curl这样免费的不需要图形界面也可以直接进行HTTP API测试的工具。

之前有很多API请求构建工具都是商业软件,或者免费版仅仅提供很有限的功能。其中曾经最流行的Postman在收费之后就很被开发者社区诟病。有位印度裔小哥Liyas Thomas对此极为不爽,就发布了一个新的工具叫:Postwoman,显而易见,Postwoman是专怼Postman的。

2020年8月,Liyas小哥可能觉得一直怼Postman也挺low的,2020年8月决定改名叫hoppscotch了。

2.1 hoppscotch安装

  • 使用docker直接可完成启动
docker run --rm --name hoppscotch -p 3000:3000 hoppscotch/hoppscotch:latest

img

img

2.2 搭建开源安全工具fuxi

docker pull jeffzh3ng/fuxi
docker run -itd --name fuxi_docker -p 5000:50020 jeffzh3ng/fuxi:latest
Default username: fuxi
Default password: whoami
/api/v1/token?username=fuxi&password=whoami
  • /api/v1/token
请求模式参数功能描述
GETusername(string, required) password(string, required)获取当前用户token
PUTusername(string, required) password(string, required)刷新当前用户token
  • poc扫描模块接口
  • /api/v1/scanner/poc/task
  • 接口描述:新增poc扫描任务,获取当前任务列表
请求模式参数参数描述接口描述
GET 获取扫描任务列表
POSTname(string,required)target(string,required)poc(string,required)threads(int)freq(string,required)任务名称 扫描对象,以逗号分隔 扫描插件ID,以逗号分隔 任务周期:daily weekly monthly新增扫描任务

img

img

img

img

三 接口类测试的思路总结

  • 有工具能吐吐吐呢,就直接吐吐吐,如同WSDL一样
  • 没有的话呢,就是看API的说明书,如果API一样
  • 但实际上,测试接口类本质都是识别出来http请求

201-A27-API接口测试

一 WSDL类

  • WSDL描述Web服务的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述;也就是描述与目录中列出的Web服务进行交互时需要绑定的协议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。
  • WSDL 元素基于XML语法描述了与服务进行交互的基本元素:
Type(消息类型):数据类型定义的容器,它使用某种类型系统(如 XSD)。
Message(消息):通信数据的抽象类型化定义,它由一个或者多个 part 组成。
Part:消息参数
Operation操作):对服务所支持的操作进行抽象描述,WSDL定义了四种操作: 1.单向(one-way):端点接受信息;2.请求-响应(request-response):端点接受消息,然后发送相关消息;3.要求-响应(solicit-response):端点发送消息,然后接受相关消息;4.通知(notification):端点发送消息。
Port Type(端口类型):特定端口类型的具体协议和数据格式规范。
Binding:特定端口类型的具体协议和数据格式规范。
Port:定义为绑定和网络地址组合的单个端点。
Service:相关端口的集合,包括其关联的接口、操作、消息等。
通过命令可下载CsharpVulnSoap靶机
wget http://volatileminds.net/CsharpVulnSoap.ova

img

  • 将页面请求通过burpsuite抓包后,使用Wsdler模块即可解析请求。 img

img
img

  • 解析出HTTP请求后,剩下的该怎么挖洞就怎么挖了:)

img

二 API接口类

市面上常见的API请求构建工具形式有独立的桌面程序、命令行程序、浏览器扩展、Web服务等几种,比较著名的API请求构建工具有Postman、Swagger Inspecter、Soap UI、Apigee等等。国内有一些公司也通过Web服务的方式提供API测试功能,例如网易数帆的GoAPI,还有像curl这样免费的不需要图形界面也可以直接进行HTTP API测试的工具。

之前有很多API请求构建工具都是商业软件,或者免费版仅仅提供很有限的功能。其中曾经最流行的Postman在收费之后就很被开发者社区诟病。有位印度裔小哥Liyas Thomas对此极为不爽,就发布了一个新的工具叫:Postwoman,显而易见,Postwoman是专怼Postman的。

2020年8月,Liyas小哥可能觉得一直怼Postman也挺low的,2020年8月决定改名叫hoppscotch了。

2.1 hoppscotch安装

  • 使用docker直接可完成启动
docker run --rm --name hoppscotch -p 3000:3000 hoppscotch/hoppscotch:latest

img

img

2.2 搭建开源安全工具fuxi

docker pull jeffzh3ng/fuxi
docker run -itd --name fuxi_docker -p 5000:50020 jeffzh3ng/fuxi:latest
Default username: fuxi
Default password: whoami
/api/v1/token?username=fuxi&password=whoami
  • /api/v1/token
请求模式参数功能描述
GETusername(string, required) password(string, required)获取当前用户token
PUTusername(string, required) password(string, required)刷新当前用户token
  • poc扫描模块接口
  • /api/v1/scanner/poc/task
  • 接口描述:新增poc扫描任务,获取当前任务列表
请求模式参数参数描述接口描述
GET 获取扫描任务列表
POSTname(string,required)target(string,required)poc(string,required)threads(int)freq(string,required)任务名称 扫描对象,以逗号分隔 扫描插件ID,以逗号分隔 任务周期:daily weekly monthly新增扫描任务

img

img

img

img

三 接口类测试的思路总结

  • 有工具能吐吐吐呢,就直接吐吐吐,如同WSDL一样
  • 没有的话呢,就是看API的说明书,如果API一样
  • 但实际上,测试接口类本质都是识别出来http请求

赞 (0)

猜您想看

评论区(暂无评论)

这里空空如也,快来评论吧~

我要评论