API攻防-接口安全SOAPOpenAPIRESTful分类特征导入项目联动检测

news2025/2/22 15:58:12

文章目录

  • 概述
    • 什么是接口?
  • 1、API分类特征
    • SOAP - WSDL
      • Web services 三种基本元素:
    • OpenApi - Swagger UI
    • Springboot Actuator
  • 2、API检测流程
    • Method:请求方法
    • URL:唯一资源定位符
    • Params:请求参数
    • Authorization:认证方式
    • Headers:请求消息头
  • 3、API检测项目
    • Ready API
    • Postman 联动Xray
    • APIKIT Burp插件
    • 补一个案例
    • vapi靶场搭建
    • 相关项目链接
  • 参考

概述

什么是接口?

接口是后端设计的一套供给第三方使用的方法
举个例子,fofa提供了第三方api接口来进行调用,使用查询语法获取资产目标资产信息
在这里插入图片描述输入相关参数进行调用
在这里插入图片描述API安全就是围绕着这一个接口进行的,可能存在的漏洞包括:SQL注入、身份验证、信息泄漏、XSS跨站等

1、API分类特征

SOAP - WSDL

Web Service是基于网络的、分布式的模块化组件,通过 Web 进行发布、查找和使用**。**是应用程序组件使用开放协议进行通信, 是独立的(self-contained)并可自我描述, 可通过使用UDDI来发现,可被其他应用程序使用。
交互过程
Web Services 都是放在Web服务器(如IIS)的。
WebService服务器端首先要通过一个WSDL文件来说明自己有什么服务可以对外调用,并注册到UDDI服务器,以便被人查找。
客户根据 WSDL 描述文档,使用XML封装一个 SOAP 请求消息,嵌入在一个HTTP POST请求中,发送到 Web 服务器来。
Web 服务器再把这些请求转发给 Web Services 请求处理器。
由请求处理器解析收到的 SOAP 请求,调用 Web Services,然后再生成相应的 SOAP 应答。
Web 服务器得到 SOAP 应答后,会再通过 HTTP应答的方式把信息送回到客户端。

Web services 三种基本元素:

uudl用于提供发布和查询webservice方法
wsdl是webservice服务描述语言,用于web服务说明,它是一个xml文档,用于说明一组soap消息如何访问接口
soap是简单对象访问协议,用于分布式环境的基于信息交换的同行协议,描述传递信息的格式和规范,它可以用于连接web服务和客户端之间的接口,是一个可以在不同操作系统上运行的不同语言编写的程序之间的传输通信协议,格式为xml,soap消息
在这里插入图片描述

OpenApi - Swagger UI

在这里插入图片描述

Springboot Actuator

在这里插入图片描述同时也可以测一测heapdump泄漏以及相关命令执行漏洞

2、API检测流程

接口发现,遵循分类,依赖语言,V1/V2多版本等

Method:请求方法

攻击方式:OPTIONS,PUT,MOVE,DELETE
效果:上传恶意文件,修改页面等

URL:唯一资源定位符

攻击方式:猜测,遍历,跳转
效果:未授权访问等

Params:请求参数

攻击方式:构造参数,修改参数,遍历,重发
效果:爆破,越权,未授权访问,突破业务逻辑等

Authorization:认证方式

攻击方式:身份伪造,身份篡改
效果:越权,未授权访问等

Headers:请求消息头

攻击方式:拦截数据包,改Hosts,改Referer,改Content-Type等
效果:绕过身份认证,绕过Referer验证,绕过类型验证,DDOS等
Body:消息体
攻击方式:SQL注入,XML注入,反序列化等
效果:提权,突破业务逻辑,未授权访问等

3、API检测项目

Ready API

需要自行破解使用,只适用于windows,导入接口url就可以进行安全测试,漏洞类型覆盖广,就是测试时间周期较长
在这里插入图片描述在这里插入图片描述测试结果以报告形式展示
在这里插入图片描述

Postman 联动Xray

postman设置代理转发
在这里插入图片描述效果如图
在这里插入图片描述

APIKIT Burp插件

在这里插入图片描述具体使用

在这里插入图片描述相关配置
在这里插入图片描述进行接口fuzz测试
在这里插入图片描述

补一个案例

在这里插入图片描述
在这里插入图片描述

vapi靶场搭建

靶场搭建
搭建完成后
在这里插入图片描述在这里插入图片描述后面整体靶场测试过程留在下一篇blog中……

相关项目链接

https://github.com/lijiejie/swagger-exp
https://github.com/jayus0821/swagger-hack

部分项目下载:
https://github.com/SmartBear/soapui
https://github.com/API-Security/APIKit
https://github.com/lijiejie/swagger-exp
https://github.com/jayus0821/swagger-hack
靶场和资源总结:
https://github.com/roottusk/vapi
https://github.com/API-Security/APISandbox
https://github.com/arainho/awesome-api-security

参考

https://blog.csdn.net/comeonmao/article/details/125708415
https://blog.csdn.net/m0_52526329/article/details/132022540

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

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

相关文章

关键词搜索1688商品列表数据接口,1688商品列表数据接口

在网页抓取方面,可以使用 Python、Java 等编程语言编写程序,通过模拟 HTTP 请求,获取1688网站上的商品页面。在数据提取方面,可以使用正则表达式、XPath 等方式从 HTML 代码中提取出有用的信息。值得注意的是,1688网站…

docker--使用docker login 报错解决方案

我们在本地使用 docker login 命令登录时报错,可以尝试一下先 docker logout 命令退出登录后,在使用 docker login命令进行登录操作; docker logout

OpenCV4(C++)—— 直方图

文章目录 前言一、计算直方图二、归一化三、直方图均衡化四、直方图匹配 前言 直方图(Histogram)最开始在统计学中被提出,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。在图像领域,直方…

vue3+ts项目03 element-plus、vue-router、pinia

yarn add element-plus yarn add element-plus/icons-vue修改main.ts import { createApp } from vue import App from ./App.vueimport ElementPlus from element-plus import element-plus/dist/index.css import zhCn from element-plus/dist/locale/zh-cn.mjsconst app c…

Arduino程序设计(十四)舵机控制实验(SG90)

舵机控制实验 前言一、SG90舵机1、SG90舵机简介2、硬件电路连线3、Servo库常用函数 二、舵机实验1、舵机0~180来回转动2、串口控制舵机转动固定角度 总结 前言 本文介绍SG90舵机控制原理及实验,主要内容有:1、介绍SG90舵机;2、舵机0~180来回…

Android---java内存模型与线程

Java 内存模型翻译自 Java Memory Model,简称 JMM。它所描述的是多线程并发、CPU 缓存等方面的内容。 在每一个线程中,都会有一块内部的工作内存,这块内存保存了主内存共享数据的拷贝副本。但在 Java 线程中并不存在所谓的工作内存&#xff0…

发行版兴趣小组季度动态:Anolis OS 支持大热 AI 软件栈,引入社区合作安全修复流程

发行版兴趣小组(Special Interest Group) :旨在为龙蜥社区构建、发布和维护一个稳定的操作系统发行版。 秋天的季节,发行版兴趣小组在 AI、安全、国产 OS 领域同样也是硕果累累。一起来看一下第三季度发行版兴趣小组的成果总结有…

IPv4报文头部

1、version(版本):用于标识封装是IPv4还是IPv6 2、IHL(头部长度):描述了数据包头的内容长度 3、Type of service(服务类型):用于标识DSCP或IP优先级,用于Qos识别 4、T…

野火开发板使用FlyMcu一键ISP下载时

1.ISP 一键下载 野火开发板使用FlyMcu一键ISP下载时,记得拔掉JTAG那个20针的东西,要不然一直芯片超时不连接。 bsp:9600,使用共写入2KB,进度100%,耗时16641毫秒。 bsp:115200,共写入2KB,进度100%,耗时2188毫秒。 bsp:115200&#…

[modern c++] 函数式编程与 std::ref

参考: std::ref, std::cref - cppreference.comhttps://en.cppreference.com/w/cpp/utility/functional/ref 正文: 如果不涉及函数式编程,那么基本上不需要使用到 std::ref , 这个功能式是用来解决函数式编程时入参只能进行值传…

ai语音机器人OKCC的空号检测

一、空号检测模块介绍 空号检测的原理:空号检测是利用现代通信技术和互联网技术结合而成,采用批量拨电话号码的方式,过滤空号、停机、无效号码。业内又称空号筛选、空号过滤。空号检测技术的成果是去除号码中的无效号码,包括…

代理IP端口是什么意思呢?

今天,咱们来聊聊一个小众但很有料的话题——代理IP端口,它可是你纵横互联网世界的好搭子哦! 首先,我们得先弄明白,代理IP端口是个啥? 代理IP端口就像是通往网络世界的门票,是你和代理服务器之间的桥梁。…

“解锁1688商品详情接口:提升电商转化率的秘密武器!“

1688商品详情接口(又称详情页API)是一种供卖家使用的接口,可以让卖家通过该接口维护商品的详细信息,包括商品价格、图片、属性等等。 通过使用该接口,卖家可以在商品详情页中提供更加详尽、直观的商品描述&#xff0c…

总线带宽计算公式

原文连接:总线带宽计算公式(解析)-

Linux Shell 实现一键部署hfish

hfish前言 HFish是一款社区型免费蜜罐,侧重企业安全场景,从内网失陷检测、外网威胁感知、威胁情报生产三个场景出发,为用户提供可独立操作且实用的功能,通过安全、敏捷、可靠的中低交互蜜罐增加用户在失陷感知和威胁情报领域的能…

PromptScript:轻量级 DSL 脚本,加速多样化的 LLM 测试与验证

TL;DR 版本 PromptScript 是一个轻量级的 Prompt 调试用的 DSL (Yaml)脚本,以用于快速使用、构建 Prompt。 PromptScript 文档:https://framework.unitmesh.cc/prompt-script Why PromptScript ? 几个月前&…

JAVA设计模式-装饰者模式

一.概念 装饰器模式(Decorator Pattern),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰器模式比生成子类更灵活。 —-《大话设计模式》 允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属…

多列等高实现

预期效果 多列等高,左右两列高度自适应且一样,分别设置不同背景色效果预览: 分别由6种方法实现 1、使用padding + margin + overflow 实现多列等高效果,具有良好的兼容性; 2、border实现多列等高,左边框宽度为200px,左列浮动,伪元素清除浮动; 3、父元素线性渐变背景色…

Mac热门软件推荐Paste mac 中文激活版 剪切板工具

Paste for Mac是一款运行在Mac OS平台上的剪切板小工具。它拥有华丽的界面效果,并且每一条记录可显示(预览)文本、图片等记录的完整内容。此外,Paste for Mac可以记录最近指定条数的剪切板信息,方便用户随时调用&#…

L15D1 设备分类、设备号申请和注销

一、Linux设备分类 (一)linux的文件种类: -:普通文件:文件IOd:目录文件p:管道文件s:本地socket文件:网络编程l:链接文件c:字符设备b&#xff1a…