Dark Mode
Capec-243 Detail
XSS Targeting HTML Attributes
Detailed Software Software Software Typical Severity: Medium
Parents: 588 591 592
Not present
| External ID | Source | Link | Description |
|---|---|---|---|
| CAPEC-243 | capec | https://capec.mitre.org/data/definitions/243.html | |
| CWE-83 | cwe | http://cwe.mitre.org/data/definitions/83.html | |
| REF-94 | reference_from_CAPEC | http://jeremiahgrossman.blogspot.com/2007/07/attribute-based-cross-site-scripting.html | Jeremiah Grossman, Attribute-Based Cross-Site Scripting |
Explore
-
Survey the application for user-controllable inputs: 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.
| Techniques |
|---|
| Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL. |
| Use a proxy tool to record all links visited during a manual traversal of the web application. |
| Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery. |
Experiment
-
Probe identified potential entry points for XSS targeting HTML attributes: The adversary uses the entry points gathered in the "Explore" phase as a target list and injects various malicious expressions as input, hoping to embed them as HTML attributes.
-
Craft malicious XSS URL: Once the adversary has determined which parameters are vulnerable to XSS, 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.
| Techniques |
|---|
| Inject single and double quotes into URL parameters or other inputs to see if they are filtered out. Also use URL encoding to bypass filters. |
| Use single or double quotes to close attribute evaluation and enter a new attribute that contains an expression. |
| Techniques |
|---|
| Execute a script using an expression embedded in an HTML attribute, which avoids needing to inject a script tag. |
| Send information gathered from the malicious script to a remote endpoint. |
Exploit
-
Get victim to click URL: In order for the attack to be successful, the victim needs to access the malicious URL.
| Techniques |
|---|
| Send a phishing email to the victim containing the malicious URL. This can be hidden in a hyperlink as to not show the full URL, which might draw suspicion. |
| Put the malicious URL on a public forum, where many victims might accidentally click the link. |
- The target application must fail to adequately sanitize HTML attributes against the presence of dangerous commands.
- The adversary must trick the victim into following a crafted link to a vulnerable server or view a web post where the dangerous commands are executed.
Not present
Not present
Not present