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

相关文章
|
1月前
|
存储 安全 API
如何对 API 进行安全加密?
对API进行安全加密是保障数据安全和系统稳定的重要措施
142 56
|
21天前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
此API用于检测指定TCP端口是否开放,支持POST/GET请求。需提供用户ID、KEY、目标主机,可选指定端口(默认80)和地区(默认国内)。返回状态码、信息提示、检测主机、端口及状态(开放或关闭)。示例中ID和KEY为公共测试用,建议使用个人ID和KEY以享受更高调用频率。
36 14
|
1月前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
该API用于检测目标主机指定TCP端口是否开放,适用于检测连通状态等场景。支持指定大陆、美国、香港等检测节点。请求地址为 `https://cn.apihz.cn/api/wangzhan/port.php`,支持POST和GET请求方式。请求参数包括 `id`、`key`、`type`、`host` 和 `port`。返回参数包含检测结果和状态码。示例请求:`https://cn.apihz.cn/api/wangzhan/port.php?id=88888888&key=88888888&type=1&host=49.234.56.78&port=80`。
|
1月前
|
存储 JSON API
淘宝API接口实战:高效获取商品标题、分类及店铺名称
在淘宝API接口实战中,通过以下步骤高效获取商品标题、分类及店铺名称:1. 准备工作:了解淘宝开放平台文档,注册开发者账号,选择开发语言和工具。2. 获取API访问权限:申请相应权限,提供应用场景说明。3. 调用API接口:构建HTTP请求,提供必要参数。4. 解析响应数据:提取JSON数据中的所需信息。5. 数据处理和存储:进一步处理并存储数据。6. 注意事项:遵守使用规范,注意调用频率和数据安全。示例代码使用Python调用淘宝API。
|
2月前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
251 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
3月前
|
人工智能 安全 API
API应用安全风险倍增,F5助企业赢得关键安全挑战
API应用安全风险倍增,F5助企业赢得关键安全挑战
62 11
|
3月前
|
安全 API 开发者
Web 开发新风尚!Python RESTful API 设计与实现,让你的接口更懂开发者心!
在当前的Web开发中,Python因能构建高效简洁的RESTful API而备受青睐,大大提升了开发效率和用户体验。本文将介绍RESTful API的基本原则及其在Python中的实现方法。以Flask为例,演示了如何通过不同的HTTP方法(如GET、POST、PUT、DELETE)来创建、读取、更新和删除用户信息。此示例还包括了基本的路由设置及操作,为开发者提供了清晰的API交互指南。
115 6
|
3月前
|
安全 Java API
【性能与安全的双重飞跃】JDK 22外部函数与内存API:JNI的继任者,引领Java新潮流!
【9月更文挑战第7天】JDK 22外部函数与内存API的发布,标志着Java在性能与安全性方面实现了双重飞跃。作为JNI的继任者,这一新特性不仅简化了Java与本地代码的交互过程,还提升了程序的性能和安全性。我们有理由相信,在外部函数与内存API的引领下,Java将开启一个全新的编程时代,为开发者们带来更加高效、更加安全的编程体验。让我们共同期待Java在未来的辉煌成就!
73 11
|
3月前
|
安全 Java API
【本地与Java无缝对接】JDK 22外部函数和内存API:JNI终结者,性能与安全双提升!
【9月更文挑战第6天】JDK 22的外部函数和内存API无疑是Java编程语言发展史上的一个重要里程碑。它不仅解决了JNI的诸多局限和挑战,还为Java与本地代码的互操作提供了更加高效、安全和简洁的解决方案。随着FFM API的逐渐成熟和完善,我们有理由相信,Java将在更多领域展现出其强大的生命力和竞争力。让我们共同期待Java编程新纪元的到来!
117 11
|
3月前
|
存储 程序员 API
【收藏】非API函数检测操作系统类型
【收藏】非API函数检测操作系统类型