API安全

API安全
EZL1NGAPI
简介
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节
API接口类型
RESTful API:REST,Representational State Transfer的缩写,是一种使Web基础架构具有分布式特征的架构风格。RESTful API是基于REST架构风格的API,通常使用HTTP/js/ajax进行数据传输。它是使用最广泛的API类型之一。
- 特征: url加?WSDL 或后缀为.asmx
SOAP API:全称是Simple Object Access Protocol,是UDDI、XML和SOAP的组合,它要求在高度可靠和安全的系统之间进行通信。SOAP API 使用 XML 格式请求和响应数据,并支持多种协议,包括 HTTP、HTTPS 等。对于企业级应用程序来说,SOAP API更适合处理大规模数据交换和复杂的业务流程。
- 特征:Swagger
GraphQL API:GraphQL是一种用于API的查询语言。与REST和SOAP不同,GraphQL不像API那样让开发者获取整个集合数据,而是根据开发者的需要返回客户端需要的数据。GraphQL API具有强大的类型系统和查询语言,使得客户端能够更精确地请求数据,而不是不必要地获取整个集合数据。
- 特征: /v1/api/
API检测项目
工具自动化:
SOAP - WSDL 测试
Postman 联动
SoapUI ReadyAPI
OpenApi - Swagger 测试
Postman 联动
https://github.com/lijiejie/swagger-exp
https://github.com/jayus0821/swagger-hack
RESTful - /v1/api/ 测试
Postman 联动
APIKit 联动
APIKit是基于BurpSuite提供的JavaAPI开发的插件。APIKit可以主动/被动扫描发现应用泄露的API文档,并将API文档解析成BurpSuite中的数据包用于API安全测试
1 | https://github.com/API-Security/APIKit |
手动测试
常见方法
1 | Method:请求方法 |