CAPEC-228: DTD Injection
An attacker injects malicious content into an application's DTD in an attempt to produce a negative technical impact. DTDs are used to describe how XML documents are processed. Certain malformed DTDs (for example, those with excessive entity expansion as described in CAPEC 197) can cause the XML parsers that process the DTDs to consume excessive resources resulting in resource depletion.
Last updated
Overview
CAPEC-228 (DTD Injection) is a detailed-level attack pattern catalogued by MITRE in the Common Attack Pattern Enumeration and Classification (CAPEC). It describes a recurring method attackers use to exploit software weaknesses.
How the attack works
The phases an attacker typically follows to carry out this attack.
- Step 1Explore
[Survey the target] Using a browser or an automated tool, an attacker records all instances of web services to process XML requests.
- Use an automated tool to record all instances of URLs to process XML requests.
- Use a browser to manually explore the website and analyze how the application processes XML requests.
- Step 2Explore
[Determine use of XML with DTDs] Examine application input to identify XML input that leverage the use of one or more DTDs.
- Examine any available documentation for the application that discusses expected XML input.
- Exercise the application using XML input with and without a DTD specified. Failure without DTD likely indicates use of DTD.
- Step 3Exploit