工作原理
此工具解析 WSDL(Web 服务描述语言)文档,并为服务中定义的每个操作生成完整、可直接发送的 SOAP 信封和 curl 命令——省去在 CTF 或 pentest 过程中手动编写样板 XML 的工作。
- 1. 获取 WSDL: 追加
?wsdl或?WSDL追加到服务 URL,或在源码中找到它。保存完整的 XML。 - 2. 粘贴 WSDL: 将原始 XML 粘贴到文本框中,然后点击"生成操作"。
- 3. 获取你的信封: 每个 SOAP 操作都有其自己的信封(带占位符参数值)以及带有正确端点和 SOAPAction 头的 curl 命令。
- 4. 发送请求: 复制 curl 命令,将占位符值替换为真实输入,然后对目标发起请求。
什么是 WSDL?
WSDL 是用于 SOAP Web 服务的基于 XML 的接口描述语言。它定义了可用操作、其输入/输出消息类型和参数名称、数据类型(通过 XML Schema)、绑定方式(SOAP 如何映射到 HTTP)以及端点 URL。SOAP 服务公开暴露 WSDL,以便客户端生成存根——也让渗透测试人员能够发现完整的攻击面。
wsdl:operation
Defines an available action. The name maps directly to the SOAP body element and often to the SOAPAction header value.
wsdl:message
Describes the input or output of an operation as a set of typed parts (parameters).
wsdl:types
Contains the XML Schema (XSD) definitions for all message types, including parameter names, types and cardinality.
soap:address location
The HTTP endpoint URL where SOAP requests must be sent, extracted and used directly in the curl command.
常见问题
Does this send requests to the target service?
No. Everything happens server-side in PHP. The tool only parses the XML you paste and generates strings. No outbound requests are made.
Where do I find the WSDL?
Append ?wsdl or ?WSDL to the service base URL (e.g. https://example.com/service.asmx?wsdl). Some services list the path in their homepage or error page.
What SOAP versions are supported?
SOAP 1.1 (the most common, uses http://schemas.xmlsoap.org/soap/envelope/) and SOAP 1.2 (uses http://www.w3.org/2003/05/soap-envelope). The tool detects the version from the binding and generates the correct envelope namespace.
Can I use this for CTF challenges?
Yes. SOAP services appear regularly in CTF web challenges. This tool cuts the time spent decoding WSDL XML and writing envelope boilerplate so you can focus on the actual vulnerability.
Why are my parameter values placeholders?
The tool inserts VALUE placeholders where the XSD type cannot be inferred as a primitive. Replace them with real values before sending the request.