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

简介: API攻防-接口安全&SOAP&OpenAPI&RESTful&分类特征导入&项目联动检测

概述

什么是接口?

接口是后端设计的一套供给第三方使用的方法

举个例子,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测试

补一个案例


相关项目链接

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://blog.csdn.net/comeonmao/article/details/125708415

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

相关文章
|
14天前
|
JavaScript 前端开发 测试技术
【vue实战项目】通用管理系统:api封装、404页
【vue实战项目】通用管理系统:api封装、404页
19 3
|
7天前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
|
11天前
|
监控 安全 测试技术
确保第三方API安全的5个最佳实践
确保第三方API安全的5个最佳实践
|
23天前
|
安全 前端开发 物联网
API常见的三种分类
【6月更文挑战第4天】基于现代API的服务对象不同、技术形式不同、使用者不同,可以对现代API做不同类型的划分。
|
1天前
|
JSON 安全 Java
淘客返利平台的API设计与安全
淘客返利平台的API设计与安全
|
25天前
|
安全 API 数据安全/隐私保护
关于API安全设计5A原则
【6月更文挑战第1天】5A原则包括身份认证、授权、访问控制、可审计性和资产保护,是安全设计的核心要素。
|
7天前
|
JavaScript 前端开发 Java
信息打点-JS架构&框架识别&泄漏提取&API接口枚举&FUZZ&插件项目
信息打点-JS架构&框架识别&泄漏提取&API接口枚举&FUZZ&插件项目
|
1月前
|
机器学习/深度学习 人工智能 安全
API攻击呈指数级增长,如何保障API安全?
API攻击呈指数级增长,如何保障API安全?
39 4
|
1月前
|
云安全 监控 安全
API面临哪些安全风险,如何做好API安全,有哪些对应的防护策略
在当今信息化高速发展的时代,API(应用程序编程接口)技术已成为企业数字化转型的基石,它连接着各种服务、传输数据并控制系统,成为现代数字业务环境不可或缺的一部分。然而,随着API的广泛应用,其安全性问题也日益凸显,成为了企业不得不面对的挑战。
|
23天前
|
前端开发 测试技术 API
vite项目怎么build打包成不同环境的代码?从而适配不同环境api接口
vite项目怎么build打包成不同环境的代码?从而适配不同环境api接口
26 0