SOAP vulnerabilities

Understanding SOAP Vulnerabilities

What are SOAP Vulnerabilities?

SOAP (Simple Object Access Protocol) vulnerabilities exploit security weaknesses in XML-based web services that use SOAP for communication. Despite being considered "legacy," SOAP services are still widely used in enterprise environments, banking systems, and government applications. SOAP's reliance on XML processing creates unique attack vectors including XML External Entity (XXE) injection, XML bombs, WSDL enumeration, and authentication bypass that don't exist in modern REST or GraphQL APIs.

Vulnerable Scenario Example

Normal SOAP request:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getUserInfo xmlns="http://example.com/userservice">
      <userId>123</userId>
    </getUserInfo>
  </soap:Body>
</soap:Envelope>

XXE attack payload:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE soap [
  <!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getUserInfo xmlns="http://example.com/userservice">
      <userId>&xxe;</userId>
    </getUserInfo>
  </soap:Body>
</soap:Envelope>

Attack Result: The XML parser processes the external entity, potentially exposing sensitive files from the server's filesystem or enabling internal network reconnaissance.

How SOAP Attacks Work

SOAP vulnerabilities primarily exploit XML processing weaknesses and service configuration issues. Since SOAP services rely heavily on XML parsing, schema validation, and WSDL documentation, attackers can manipulate XML structure, inject malicious entities, or exploit exposed service definitions to compromise applications.

SOAP Attack Flow

  1. Service Discovery - Find SOAP endpoints and WSDL documents

  2. WSDL Analysis - Extract service methods, parameters, and data types

  3. XML Injection Testing - Test for XXE, XML bombs, and parsing vulnerabilities

  4. Authentication Testing - Test SOAP-specific authentication mechanisms

  5. Business Logic Abuse - Exploit exposed methods and parameter manipulation

  6. Message Structure Manipulation - Bypass validation through XML structure changes

Impact and Consequences

  • File System Access - XXE attacks reading sensitive server files

  • Internal Network Reconnaissance - SSRF via XML external entities

  • Denial of Service - XML bomb attacks consuming server resources

  • Authentication Bypass - Exploiting SOAP authentication mechanisms

  • Data Manipulation - Unauthorized access to business methods

  • Information Disclosure - WSDL exposure revealing internal architecture

  • Injection Attacks - SQL, command, and LDAP injection through SOAP parameters

Core SOAP Vulnerabilities

XML External Entity (XXE) Injection

SOAP services are particularly vulnerable to XXE attacks due to their reliance on XML parsing.

File System Access:

Internal Network Access (SSRF):

Out-of-Band Data Exfiltration:

XML Bomb Attacks (Billion Laughs)

XML bomb attacks exploit XML entity expansion to consume server resources.

Basic XML Bomb:

Quadratic Blowup Attack:

WSDL Enumeration and Information Disclosure

WSDL documents often expose sensitive information about service structure and internal operations.

WSDL Discovery:

Information Extraction from WSDL:

  • Service methods and operations

  • Parameter names and data types

  • Internal server paths and namespaces

  • Authentication requirements

  • Error handling mechanisms

SOAP Injection Attacks

SOAP parameters can be vulnerable to various injection attacks.

SQL Injection via SOAP:

Command Injection:

LDAP Injection:

SOAP Testing Methodology

Service Discovery and Reconnaissance

WSDL Discovery with Burp Suite:

Using SoapUI for Service Discovery:

Manual WSDL Analysis:

XXE Vulnerability Testing

Testing with Burp Suite:

Testing with Postman:

Using OWASP ZAP:

Authentication and Authorization Testing

WS-Security Testing:

HTTP Authentication Testing:

Parameter Manipulation and Injection Testing

SQL Injection Testing with SoapUI:

Using Burp Intruder for Parameter Fuzzing:

Advanced SOAP Attack Techniques

SOAP Message Structure Manipulation

SOAP Header Injection:

Namespace Confusion:

WS-Security Bypass Techniques

Signature Wrapping Attack:

SOAP Fault Injection

Error Message Exploitation:

SOAP Security Testing Tools

Specialized SOAP Testing Tools

SoapUI (Free and Pro versions):

  • WSDL import and analysis

  • Automated test case generation

  • Security test capabilities

  • Load testing features

  • Mock service creation

Postman SOAP Testing:

WSDigger (Burp Suite Extension):

Manual Testing with Common Tools

Burp Suite Configuration for SOAP:

OWASP ZAP for SOAP Testing:

curl for Quick SOAP Testing:

Business Logic and Parameter Testing

Method Enumeration

Testing Undocumented Methods:

Parameter Manipulation

Type Confusion Attacks:

Last updated

Was this helpful?