跳到内容
HackIndex.io
工具

SOAP WSDL 动作生成器

粘贴原始 WSDL XML — 获取每个操作的 SOAP 信封和 curl 命令。

提示:可以通过在 SOAP 服务 URL 后追加 ?wsdl 或 ?WSDL 来获取 WSDL。

工作原理

此工具解析 WSDL(Web 服务描述语言)文档,并为服务中定义的每个操作生成完整、可直接发送的 SOAP 信封和 curl 命令——省去在 CTF 或 pentest 过程中手动编写样板 XML 的工作。

  1. 1. 获取 WSDL: 追加 ?wsdl 或 ?WSDL 追加到服务 URL,或在源码中找到它。保存完整的 XML。
  2. 2. 粘贴 WSDL: 将原始 XML 粘贴到文本框中,然后点击"生成操作"。
  3. 3. 获取你的信封: 每个 SOAP 操作都有其自己的信封(带占位符参数值)以及带有正确端点和 SOAPAction 头的 curl 命令。
  4. 4. 发送请求: 复制 curl 命令,将占位符值替换为真实输入,然后对目标发起请求。

什么是 WSDL?

WSDL 是用于 SOAP Web 服务的基于 XML 的接口描述语言。它定义了可用操作、其输入/输出消息类型和参数名称、数据类型(通过 XML Schema)、绑定方式(SOAP 如何映射到 HTTP)以及端点 URL。SOAP 服务公开暴露 WSDL,以便客户端生成存根——也让渗透测试人员能够发现完整的攻击面。

wsdl:operation

定义一个可用的操作。其名称直接对应 SOAP body 元素,通常也对应 SOAPAction 头的值。

wsdl:message

将操作的输入或输出描述为一组带类型的部分(参数)。

wsdl:types

包含所有消息类型的 XML Schema (XSD) 定义,包括参数名称、类型和基数。

soap:address location

SOAP 请求必须发送到的 HTTP 端点 URL,会被提取并直接用于 curl 命令。

常见问题

这会向目标服务发送请求吗?

不会。所有处理都在服务器端的 PHP 中进行。工具仅解析你粘贴的 XML 并生成字符串,不会发出任何外发请求。

我在哪里找到 WSDL?

在服务的基础 URL 后附加 ?wsdl 或 ?WSDL(例如 https://example.com/service.asmx?wsdl)。有些服务会在首页或错误页面列出该路径。

支持哪些 SOAP 版本?

SOAP 1.1(最常见,使用 http://schemas.xmlsoap.org/soap/envelope/)和 SOAP 1.2(使用 http://www.w3.org/2003/05/soap-envelope)。工具会根据 binding 检测版本并生成正确的 envelope 命名空间。

我可以将它用于 CTF 挑战吗?

可以。SOAP 服务经常出现在 CTF 网络题中。此工具减少了解读 WSDL XML 和编写 envelope 样板代码的时间,让你能专注于真正的漏洞。

为什么我的参数值是占位符?

当无法将 XSD 类型推断为基本类型时,工具会插入 VALUE 占位符。发送请求前请将它们替换为真实值。