渗透测试 | 浅谈SOAP注入

2024-10-30 24 0

理清概念

Web Services

简介

Web Services 是一种标准化的、跨平台、跨语言的通信方法,允许不同系统和应用程序通过网络互相交流。它们提供了一种机制,使得不同平台和语言的应用能够相互调用功能或交换数据,而不需要了解彼此的实现细节或平台。

看不懂?没事我也看不懂哈哈。例如,假设 A 公司的 Linux 平台上的 Java 程序需要与 B 公司的 Windows 平台上的 C 程序进行通信,交换数据或调用业务逻辑。通过 Web Services 技术,开发人员可以创建 Web 服务接口,然后在这些接口上进行跨平台、跨语言的通信。这是因为 Web Services 使用统一的标准和协议,确保不同平台和编程语言的系统能够互操作。

Web Services三要素

  • SOAP(Simple Object Access Protocol)

  • **WSDL(WebServicesDescriptionLanguage) **

  • UDDI(UniversalDescriptionDiscovery andIntegration)

Web Services的关键点

  1. 标准化:Web Services 使用标准化的协议(如 SOAP)和数据格式(如 XML 或 JSON),确保不同系统之间的兼容性。

  2. 跨平台和跨语言:无论服务提供者和消费者使用什么平台或编程语言,只要遵循相同的标准,就能进行有效的通信。

  3. 接口描述:Web Services 使用 WSDL 文件来描述服务接口,使得服务的使用者能够理解如何调用这些服务。

  4. 服务发现:通过 UDDI 等目录服务,服务提供者可以注册他们的服务,服务消费者可以查找和使用这些服务。

SOAP

简介

SOAP(Simple Object Access Protocol) 它是一个基于 XML 的协议,注意不是HTTP那种的**"传输协议",而是"协议"。被设计用于支持分布式计算环境中的消息交换**,常用于实现Web Services

简单来说,SOAP(Simple Object Access Protocol,简单对象访问协议)其实就是一种用于定义 Web 服务之间以及 Web 服务与客户端之间通信的标准化协议

特点

  • XML 基础:SOAP 消息采用 XML 格式,使得它具有良好的平台及语言无关性。

  • 协议独立性SOAP 可以通过不同的传输协议(如 HTTP、SMTP、TCP 等)发送消息,但最常用的是 HTTP

  • 消息结构

    • Header:包含与消息处理相关的元数据。

    • Body包含实际的请求或响应数据

    • SOAP Envelope:消息的封装结构,包括头部(Header)和主体(Body)。

  • 功能:SOAP 支持复杂的操作,如事务处理、安全性和可靠性,但这些功能也使其相对复杂。

SOAP的关键点

通信协议:SOAP 作为通信协议,定义了如何格式化和传输请求和响应消息。它描述了消息的结构、编码方式和传输协议。

接口规范:SOAP 提供了一种标准化的方式来定义和描述 Web 服务的接口,包括如何请求服务、如何发送数据、如何接收响应等。

跨平台和跨语言:因为 SOAP 消息使用 XML 格式,SOAP 协议使得不同平台和编程语言的系统可以通过统一的标准进行通信和交互。

标准化格式:SOAP 消息包含 SOAP Envelope,其中包括 Header(可选)和 Body(包含实际的数据或请求)。这些标准化的结构确保了消息的可解析性和一致性。

扩展性:SOAP 支持多种扩展功能,如安全性、事务处理等,使其能够处理复杂的业务需求。

WSDL

简介

WSDL (Web Services Description Language)是一种用于描述 Web Service的 XML 格式的语言。它定义了 Web Service的接口、操作、数据类型和传输协议。WSDL 文件帮助服务的使用者了解如何访问和使用 Web Service

渗透测试 | 浅谈SOAP注入插图

<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.verisoft.com/JupiterSOAPWebService" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.verisoft.com/JupiterSOAPWebService">
<link/>
<script/>
<script/>
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.verisoft.com/JupiterSOAPWebService">
<s:element name="getCardStatus">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="wSCardsStatusInDTO" type="tns:CardsStatusInDTO"/>
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="CardsStatusInDTO">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="channelId" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" name="channelKey" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="cardNumber" type="s:string"/>
</s:sequence>
</s:complexType>
<s:element name="getCardStatusResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="getCardStatusResult" type="tns:CardStatus"/>

功能

  • Types:定义服务使用的数据类型。

  • Message:描述传输的数据格式。

  • PortType:定义服务的操作和接口。

  • Binding:指定协议(如 SOAP)和数据格式(如 XML)。

  • Service:定义服务的地址(即服务的具体 URL)。

UDDI(Universal Description, Discovery, and Integration)

简介

UDDI 是一个用于 Web Service注册和发现的目录服务。它允许服务提供者注册他们的服务,并允许服务消费者查找和获取这些服务

功能

  • Business Entity:描述提供服务的组织或公司。

  • Business Service:描述该组织或公司提供的具体服务。

  • Binding Template:提供服务的访问信息,包括 WSDL 文件的位置。

  • Service Description:描述服务的功能和接口,包括如何通过 WSDL 访问服务。

它们之间的关系

  • Web Service:总体概念,指的是通过网络提供的功能或服务


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论