CAPECattack pattern
CAPEC-95 WSDL Scanning
High
Official page ↗
- Abstraction
- Detailed
- Status
- Draft
- Likelihood of attack
- High
- Typical severity
- High
- CAPEC version
- 3.9
Description
This attack targets the WSDL interface made available by a web service. The attacker may scan the WSDL interface to reveal sensitive information about invocation patterns, underlying technology implementations and associated vulnerabilities. This type of probing is carried out to perform more serious attacks (e.g. parameter tampering, malicious content injection, command injection, etc.). WSDL files provide detailed information about the services ports and bindings available to consumers. For instance, the attacker can submit special characters or malicious content to the Web service and can cause a denial of service condition or illegal access to database records. In addition, the attacker may try to guess other private methods by using the information provided in the WSDL files.
Execution flow
1. [Explore] [Scan for WSDL Documents] The adversary scans for WSDL documents. The WDSL document written in XML is like a handbook on how to communicate with the web services provided by the target host. It provides an open view of the application (function details, purpose, functional break down, entry points, message types, etc.). This is very useful information for the adversary.
2. [Experiment] [Analyze WSDL files] An adversary will analyze the WSDL files and try to find potential weaknesses by sending messages matching the pattern described in the WSDL file. The adversary could run through all of the operations with different message request patterns until a breach is identified.
3. [Exploit] [Craft malicious content] Once an adversary finds a potential weakness, they can craft malicious content to be sent to the system. For instance the adversary may try to submit special characters and observe how the system reacts to an invalid request. The message sent by the adversary may not be XML validated and cause unexpected behavior.
Prerequisites
• A client program connecting to a web service can read the WSDL to determine what functions are available on the server.
• The target host exposes vulnerable functions within its WSDL interface.
Skills required
• [Low] This attack can be as simple as reading WSDL and starting sending invalid request.
• [Medium] This attack can be used to perform more sophisticated attacks (SQL injection, etc.)
Consequences
• Confidentiality: Read Data
Mitigations
• It is important to protect WSDL file or provide limited access to it.
• Review the functions exposed by the WSDL interface (especially if you have used a tool to generate it). Make sure that none of them is vulnerable to injection.
• Ensure the WSDL does not expose functions and APIs that were not intended to be exposed.
• Pay attention to the function naming convention (within the WSDL interface). Easy to guess function name may be an entry point for attack.
• Validate the received messages against the WSDL Schema. Incomplete solution.
Related
Child of · CAPEC (1)
- CAPEC-54 Query System for Information attack pattern
Weakness · CWE (1)
- CWE-538 Insertion of Sensitive Information into Externally-Accessible File or Directory weakness
Referenced by CWE · attack pattern (1)
- CWE-538 Insertion of Sensitive Information into Externally-Accessible File or Directory weakness