API 渗透测试学习资源

API概述及其分类


API,即应用程序编程接口,是一组规则和协议,允许不同的软件应用程序相互通信。它定义应用程序可用于请求和交换信息的方法和数据格式。API 用于实现不同系统之间的集成,使它们能够无缝地协同工作。

如下是一些常见API的类型:

  1. REST API:(Representational State Transfer) REST是一种用于设计网络应用程序的架构风格。它依赖于客户端和服务器之间的无状态通信。RESTful API 通常使用标准 HTTP 方法(GET、POST、PUT、DELETE)对 URL 标识的资源执行 CRUD 操作。RESTful API 中的资源使用标准化数据格式(如 JSON 或 XML)表示。

  2. SOAP API:(Simple Object Access Protocol) SOAP API 使用 XML 作为消息格式,通常依赖于 HTTP 或其他协议进行通信。SOAP是一种在Web服务实现中交换结构化信息的协议。它依赖于 XML 作为请求和响应的消息格式。SOAP API 为消息格式、消息交换模式和协议定义了一组标准。SOAP API 非常适合事务需要高度可靠的场景,以及加密和数字签名等安全功能必不可少的场景。

  3. GraphQL :GraphQL 是 Facebook 开发的 API 的查询语言和运行时。它允许客户端准确指定他们需要从服务器获得哪些数据。GraphQL API 通常通过 HTTP 提供,请求被发送到单个端点,客户端可以在其中指定其查询、突变和订阅。GraphQL API 提供了高度的灵活性,并允许客户端独立于服务器更改而发展。

  4. 操作系统 API:这些 API 提供一组用于与操作系统交互的函数和过程。它们允许应用程序执行文件操作、内存管理和系统资源访问等任务。

  5. Web API:这些是可使用 HTTP 等标准 Web 协议通过 Internet 访问的 API。它们通常用于实现基于 Web 的服务和应用程序之间的通信。Web API 还可进一步细分。

  6. 库 API:库 API 提供了一组函数和类,开发人员可以使用这些函数和类在其应用程序中执行特定任务。这些 API 通常打包为软件库,开发人员可以将其包含在其项目中。

  7. 硬件 API:硬件 API 允许软件应用程序与打印机、相机和传感器等硬件设备进行交互。它们为应用程序提供了一种访问和控制硬件组件的标准化方法。

  8. 数据库 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/2369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity学习笔记】第十三 · tag与layer(运行时创建tag和layer)

参考: Unity手册 标签Unity手册 LayersIs it possible to create a tag programmatically?脚本自动添加tag和Layer 注:本文使用Unity版本是2022.3.23f1 转载引用请注明出处:🔗https://blog.csdn.net/weixin_44013533/article/de…

【JavaScriptthreejs】对于二维平面内的路径进行扩张或缩放

目标 对指定路径 [{x,y,z},{x,y,z},{x,y,z},{x,y,z}.........]沿着边缘向内或向外扩张,达到放大或缩小一定范围的效果,这里我们获取每个点(这里是Vector3(x,y,z)),获取前后两个点和当前点的坐标,计算前后两点的向量&a…

Ubuntu 安装 Harbor

一、安装 docker 原文参考传送门 1st 卸载系统自带的 docker 应用 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done 2nd 设置Docker 的apt源 # Add Dockers official GPG key: sudo…

【AI面试】工作和面试过程中,经常遇到的其他问题汇总一(持续更新)

在与面试官在面对面进行交流的过程中,面试官不仅仅会针对简历中记录的内容进行深入的了解,还会进行一些发散性的提问。 目前也就很明显,就是要看看对方: 对于常见的问题是如何思考的?有没有在持续性的学习本领域的新知识?对于不知道的问题,是如何思考的?迁移能力咋样。…

漫谈-AI 时代的信息模型

模型化- 数字化转型的重要基石 在各行各业推行数字化转型过程中,构建信息化模型十分重要,它是数字化转型的基石。事实上,数字化转型的核心是“万物皆模型”,在工业领域,以德国为主导的工业4.0 发展进程中,…

条件编译 #和##运算符

目录 1. #运算符2. ##运算符3. 条件编译4. 题目分享总结 正文开始 前言: 本章为C语言语法完结撒花, 下文将进行C语言中#和##操作符以及条件编译的讲解, 来进一步让我们了解C语言. 作者主页: 酷酷学!!! 1. #运算符 #运算符将宏的⼀个参数转换为字符串字⾯量。它仅允许出现在带…

海外仓系统能做什么?提升仓库盈利能力,不再低效经营!

海外仓管理系统和机械设备不同,这句话看似有点矛盾,但是还真就是这么回事儿。 当机械设备出现故障的时候,你会明确的知道他无法运转,已经影响到你的生产效率了。但是海外仓系统不会,它看似还可以运转,但是…

洛基计划project loki加速器推荐 免费低延迟联机加速器分享

洛基计划project loki加速器推荐 免费低延迟联机加速器分享 《洛基计划》是一款团队PVP游戏,融合有动作、英雄设计、大逃杀等元素,由前拳头游戏、Bungie和暴雪娱乐员工创立的新工作室Theorycraft Games共同发布。《洛基计划》汇集了一些大型团队PVP游戏…

基于51单片机的数码管显示的proteus仿真

文章目录 一、数码管二、单个数码管显示0~F仿真图仿真程序 三、数码管静态显示74HC138译码器74HC245缓冲器仿真图仿真程序 四、数码管动态显示仿真图仿真程序 三、总结 一、数码管 数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。它的基…

浅谈如何学习微信小程序

这是一篇干巴巴的文章,有兴趣的可以继续往下阅读。本人毕业已经三年多了,从实习到现在接触了java、javascript、html、vue、MySQL、jquery、微信小程序等,经验也算是有一点,感觉不多,属于全栈开发吧,本次就…

mmclassification 训练自己的数据集

文章目录 从源码安装数据集准备config文件训练附录 从源码安装 git clone https://github.com/open-mmlab/mmpretrain.git cd mmpretrain pip install -U openmim && mim install -e .下面是我使用的版本 /media/xp/data/pydoc/mmlab/mmpretrain$ pip show mmcv mmpr…

实现游戏地图读取与射击运行

射击代码来源自2D 横向对抗射击游戏(by STF) - CodeBus 地图读取改装自 瓦片地图编辑器 解决边界检测,实现使用不同像素窗口也能移动不闪退-CSDN博客 // 程序:2D RPG 地图编辑器改游戏读取器 // 作者:民用级脑的研发…

qt;lt;等xml|Html转义字符

在写Android布局文件时&#xff0c;左右尖括号<>&#xff0c;括号在XML中没办法直接使用&#xff0c;需要进行转义&#xff0c;收集一些转义符&#xff0c;以便查询使用。 常用表&#xff1a; **对于文章出现的任何问题请大家批评指出&#xff0c;一定及时修改 **可联系…

挂在Avalon总线上的AD7656芯片驱动verilog程序实现

AD7656是一款16位同步采样双极ADC转换器&#xff0c;本文中用状态机方式实现了AD7656芯片的Verilog驱动&#xff0c;并且将驱动直接挂在了altera芯片的Avalon总线上&#xff0c;使其altera芯片能够通过总线直接控制ADC芯片&#xff0c;其代码如下&#xff1a; module AD7656_d…

QT中使用QTableView控件

1.与数据库连接&#xff0c;读取数据库内容到UI界面显示 // 连接SQLite数据库db QSqlDatabase::addDatabase("QSQLITE","second");db.setDatabaseName("./testitem.db"); // 替换为你的数据库文件路径if (!db.open()) {qDebug() << &quo…

工作中常用到的一些sql脚本

– 存储过程查询&#xff08;存储过程/函数 关键词查询&#xff09; select * from pg_proc where lower(prosrc) like ‘%关键字%’; – 复制表数据 insert into 表(字段) select 字段 from 表 where 条件; – 查询重复数据 select COUNT(0),字段名 from 表名 where state …

黑马Minio(对象存储服务MinIO)

3.1 MinIO简介 MinIO基于Apache License v2.0开源协议的对象存储服务&#xff0c;可以做为云存储的解决方案用来保存海量的图片&#xff0c;视频&#xff0c;文档。由于采用Golang实现&#xff0c;服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单&#xff0c;基本是…

Spectre-v2 以及 Linux Retpoline技术简介

文章目录 前言一、Executive Summary1.1 Spectre-v2: Branch Predictor Poisoning1.2 Mitigating Spectre-v2 with Retpolines1.3 Retpoline Concept 二、BackgroundExploit Composition 三、(Un-)Directing Speculative Execution四、Construction (x86)4.1 Speculation Barri…

线性代数基础2矩阵

矩阵是什么 矩阵就是二维数组&#xff0c;下面是一个 m 乘 n 的矩阵&#xff0c;它有 m 行&#xff0c;n 列&#xff0c;每行每列上面都有元素&#xff0c;每个元素都有行标i 和列标 j&#xff0c; a ij 。简称m n矩阵&#xff0c;记作&#xff1a; 注意a11的索引是 A[0,0]。…

路由引入,路由过滤,路由策略实验

1&#xff0c;配置IP地址 R1&#xff1a; [R1]dis ip interface brief Interface IP Address/Mask Physical Protocol GigabitEthernet0/0/0 100.1.1.1/24 up up LoopBack0 …