今天给大家分享一些非常优质的 API 渗透测试学习资源。主要包含以下内容:
API 概述及其分类
API 渗透测试优质文章
API 渗透资料聚合项目
国外免费的 API 安全课程
API 渗透检查列表Checklist
API 测试字典
开源 API 安全靶场
常用 API 渗透测试工具
API概述及其分类
API,即应用程序编程接口,是一组规则和协议,允许不同的软件应用程序相互通信。它定义应用程序可用于请求和交换信息的方法和数据格式。API 用于实现不同系统之间的集成,使它们能够无缝地协同工作。
如下是一些常见API的类型:
REST API:(Representational State Transfer) REST是一种用于设计网络应用程序的架构风格。它依赖于客户端和服务器之间的无状态通信。RESTful API 通常使用标准 HTTP 方法(GET、POST、PUT、DELETE)对 URL 标识的资源执行 CRUD 操作。RESTful API 中的资源使用标准化数据格式(如 JSON 或 XML)表示。
SOAP API:(Simple Object Access Protocol) SOAP API 使用 XML 作为消息格式,通常依赖于 HTTP 或其他协议进行通信。SOAP是一种在Web服务实现中交换结构化信息的协议。它依赖于 XML 作为请求和响应的消息格式。SOAP API 为消息格式、消息交换模式和协议定义了一组标准。SOAP API 非常适合事务需要高度可靠的场景,以及加密和数字签名等安全功能必不可少的场景。
GraphQL :GraphQL 是 Facebook 开发的 API 的查询语言和运行时。它允许客户端准确指定他们需要从服务器获得哪些数据。GraphQL API 通常通过 HTTP 提供,请求被发送到单个端点,客户端可以在其中指定其查询、突变和订阅。GraphQL API 提供了高度的灵活性,并允许客户端独立于服务器更改而发展。
操作系统 API:这些 API 提供一组用于与操作系统交互的函数和过程。它们允许应用程序执行文件操作、内存管理和系统资源访问等任务。
Web API:这些是可使用 HTTP 等标准 Web 协议通过 Internet 访问的 API。它们通常用于实现基于 Web 的服务和应用程序之间的通信。Web API 还可进一步细分。
库 API:库 API 提供了一组函数和类,开发人员可以使用这些函数和类在其应用程序中执行特定任务。这些 API 通常打包为软件库,开发人员可以将其包含在其项目中。
硬件 API:硬件 API 允许软件应用程序与打印机、相机和传感器等硬件设备进行交互。它们为应用程序提供了一种访问和控制硬件组件的标准化方法。
数据库 API:这些 API 提供一组用于与数据库交互的函数。它们允许应用程序执行查询数据、插入记录、更新信息和从数据库中删除条目等操作。
API 渗透优质文章
一篇关于REST API 测试的好文
https://medium.com/geekculture/rest-api-testing-github-postman-62ba105e550e
一篇详细介绍API渗透测试的文章,在黑盒、灰盒和白盒等三个方面分别讲述了测试原则、目标以及具体使用案例。
https://www.vaadata.com/blog/api-penetration-testing-objective-methodology-black-box-grey-box-and-white-box-tests/
一篇关于API测试的超详细介绍、经验及建议
https://blog.hubspot.com/website/api-security
一篇关于API 渗透测试的深入指南,包括其重要性、方法和最佳实践。
https://luxequality.com/blog/api-penetration-testing/
API 渗透资料聚合项目
集合了API安全文章、学习资料及checklist的超全github项目
https://github.com/m14r41/PentestingEverything/tree/main/API%20Pentesting
该资源库收集了大量优秀的 API 安全工具和资源。其重点是能让所有社区受益的开源工具和资源。
https://github.com/arainho/awesome-api-security
API 渗透检查列表Checklist
https://github.com/shieldfy/API-Security-Checklist
https://www.apisec.ai/blog/api-security-checklist
https://www.getastra.com/blog/api-security/api-security-checklist/
https://salt.security/blog/api-security-checklist
https://www.indusface.com/blog/api-penetration-testing-checklist/
国外免费的API安全课程
https://www.apisecuniversity.com/courses/api-penetration-testing
https://www.youtube.com/watch?v=ijalD2NkRFg
https://www.youtube.com/watch?v=fCGqtXjYcRU
https://www.youtube.com/watch?v=yCUQBc2rY9Y
https://www.youtube.com/watch?v=yJ0Ypcm7eDM
API 测试相关字典
Assetnode
https://wordlists.assetnote.io/ — httparchive_apiroutes_2024_01_28.txt
Seclist https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content/api
基于OWASP API Top 10 的开源API靶场
https://github.com/OWASP/crAPI
https://github.com/erev0s/VAmPI
https://github.com/roottusk/vapi
API 渗透常用工具
Burpsuite
https://portswigger.net/burp/
Postman
https://www.postman.com/downloads/
ApiFox
https://github.com/assetnote/kiterunner
Gobuster
https://www.kali.org/tools/gobuster/
swagger-exp
https://github.com/lijiejie/swagger-exp
apiclarity
https://github.com/openclarity/apiclarity
akto
https://www.akto.io/
api-scanner
https://pentest-tools.com/website-vulnerability-scanning/api-scanner