CAPECattack pattern
CAPEC-198 XSS Targeting Error Pages
Medium
Official page ↗
- Abstraction
- Detailed
- Status
- Draft
- Typical severity
- Medium
- CAPEC version
- 3.9
Description
An adversary distributes a link (or possibly some other query structure) with a request to a third party web server that is malformed and also contains a block of exploit code in order to have the exploit become live code in the resulting error page.
Extended description
When the third party web server receives the crafted request and notes the error it then creates an error message that echoes the malformed message, including the exploit. Doing this converts the exploit portion of the message into to valid language elements that are executed by the viewing browser. When a victim executes the query provided by the adversary the infected error message is returned including the exploit code which then runs in the victim's browser. XSS can result in execution of code as well as data leakage (e.g. session cookies can be sent to the attacker). This type of attack is especially dangerous since the exploit appears to come from the third party web server, who the victim may trust and hence be more vulnerable to deception.
Execution flow
1. [Explore] [Survey the application for user-controllable inputs as URL parameters] Using a browser or an automated tool, an adversary follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application, looking for URLs which use parameters.
2. [Experiment] [Cause application to return error page] The adversary uses the URLs gathered in the "Explore" phase as a target list and injects various common script payloads and special characters into the parameters to see if an error page occurs, and if the injected payload is executed by the error page.
3. [Experiment] [Craft malicious XSS URL] Once the adversary has determined which parameters are vulnerable to XSS through an error page, they will craft a malicious URL containing the XSS exploit. The adversary can have many goals, from stealing session IDs, cookies, credentials, and page content from the victim.
4. [Exploit] [Get victim to click URL] In order for the attack to be successful, the victim needs to access the malicious URL.
Prerequisites
• A third party web server which fails to adequately sanitize messages sent in error pages.
• The victim must be made to execute a query crafted by the adversary which results in the infected error report.
Mitigations
• Design: Use libraries and templates that minimize unfiltered input.
• Implementation: Normalize, filter and use an allowlist for any input that will be used in error messages.
• Implementation: The victim should configure the browser to minimize active content from untrusted sources.
Related
Child of · CAPEC (3)
Weakness · CWE (1)
- CWE-81 Improper Neutralization of Script in an Error Message Web Page weakness
Referenced by CWE · attack pattern (1)
- CWE-81 Improper Neutralization of Script in an Error Message Web Page weakness