Flux d'exécution
1) Explore
[Survey the target] An adversary determines the input data stream that is being processed by a data parser that supports using subsitituion on the victim's side.
Technique
- Use an automated tool to record all instances of URLs to process requests.
- Use a browser to manually explore the website and analyze how the application processes requests.
2) Experiment
[Craft malicious payload] The adversary crafts a malicious message containing nested exponential expansion that completely uses up available server resources. See the "Example Instances" section for details on how to craft this malicious payload.
3) Exploit
[Send the message] Send the malicious crafted message to the target URL.
Conditions préalables
This type of attack requires that the target must receive input but either fail to provide an upper limit for entity expansion or provide a limit that is so large that it does not preclude significant resource consumption.
Compétences requises
Ability to craft nested data expansion messages.
Ressources nécessaires
None: No specialized resources are required to execute this type of attack.
Atténuations
Design: Use libraries and templates that minimize unfiltered input. Use methods that limit entity expansion and throw exceptions on attempted entity expansion.
Implementation: For XML based data - disable altogether the use of inline DTD schemas when parsing XML objects. If a DTD must be used, normalize, filter and use an allowlist and parse with methods and routines that will detect entity expansion from untrusted sources.
Faiblesses connexes
| CWE-ID |
Nom de la faiblesse |
|
Allocation of Resources Without Limits or Throttling The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated. |
|
Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion') The product uses XML documents and allows their structure to be defined with a Document Type Definition (DTD), but it does not properly control the number of recursive definitions of entities. |
Références
REF-64
Multiple vendors XML parser (and SOAP/WebServices server) Denial of Service attack using DTD
Amit Klein.
http://www.securityfocus.com/archive/1/303509 REF-65
Attacking & Defending Web Services
Pete Lindstrom.
http://www.webtorials.com/main/comnet/cn2003/web-service/24.pdf REF-66
Tip: Configure SAX parsers for secure processing
Elliotte Rusty Harold.
http://www.ibm.com/developerworks/xml/library/x-tipcfsx.html REF-67
XML Denial of Service Attacks and Defenses
Bryan Sullivan.
http://msdn.microsoft.com/en-us/magazine/ee335713.aspx REF-67
XML Denial of Service Attacks and Defenses
Bryan Sullivan.
http://msdn.microsoft.com/en-us/magazine/ee335713.aspx
Soumission
| Nom |
Organisation |
Date |
Date de publication |
| CAPEC Content Team |
The MITRE Corporation |
2014-06-23 +00:00 |
|
Modifications
| Nom |
Organisation |
Date |
Commentaire |
| CAPEC Content Team |
The MITRE Corporation |
2017-08-04 +00:00 |
Updated Resources_Required |
| CAPEC Content Team |
The MITRE Corporation |
2018-07-31 +00:00 |
Updated References |
| CAPEC Content Team |
The MITRE Corporation |
2020-07-30 +00:00 |
Updated Mitigations |
| CAPEC Content Team |
The MITRE Corporation |
2020-12-17 +00:00 |
Updated Related_Attack_Patterns, Taxonomy_Mappings |
| CAPEC Content Team |
The MITRE Corporation |
2021-10-21 +00:00 |
Updated @Name, Alternate_Terms, Description, Example_Instances, Execution_Flow, Mitigations, Prerequisites, Related_Weaknesses, Skills_Required |
| CAPEC Content Team |
The MITRE Corporation |
2022-02-22 +00:00 |
Updated Execution_Flow |
| CAPEC Content Team |
The MITRE Corporation |
2022-09-29 +00:00 |
Updated Example_Instances |