Execution Flow
1) Explore
[Identification] Using a browser or an automated tool, an attacker records all instances of URLs (or partial URL such as domain) passed to a flash file (SWF).
Technique
- Use an automated tool to record the variables passed to a flash file.
- Use a browser to manually explore the website and analyze how the flash file receive variables, e.g. JavaScript using SetVariable/GetVariable, HTML FlashVars param tag, etc.
- Use decompilers to retrieve the flash source code and record all user-controllable variables passed to a loadMovie* directive.
2) Experiment
[Attempt to inject a remote flash file] The attacker makes use of a remotely available flash file (SWF) that generates a uniquely identifiable output when executed inside the targeted flash file.
Technique
- Modify the variable of the SWF file that contains the remote movie URL to the attacker controlled flash file.
3) Exploit
[Access or Modify Flash Application Variables] As the attacker succeeds in exploiting the vulnerability, they target the content of the flash application to steal variable content, password, etc.
Technique
- Develop malicious Flash application that is injected through vectors identified during the Experiment Phase and loaded by the victim browser's flash plugin and sends document information to the attacker.
- Develop malicious Flash application that is injected through vectors identified during the Experiment Phase and takes commands from an attacker's server and then causes the flash application to execute appropriately.
4) Exploit
[Execute JavaScript in victim's browser] When the attacker targets the current flash application, they can choose to inject JavaScript in the client's DOM and therefore execute cross-site scripting attack.
Technique
- Develop malicious JavaScript that is injected from the rogue flash movie to the targeted flash application through vectors identified during the Experiment Phase and loaded by the victim's browser.
Prerequisites
The targeted Flash application must reference external URLs and the locations thus referenced must be controllable through parameters. The Flash application must fail to sanitize such parameters against malicious manipulation. The victim must follow a crafted link created by the attacker.
Skills Required
knowledge of Flash internals, parameters and remote referencing.
Mitigations
Implementation: Only allow known URL to be included as remote flash movies in a flash application
Configuration: Properly configure the crossdomain.xml file to only include the known domains that should host remote flash movies.
Related Weaknesses
CWE-ID |
Weakness Name |
|
URL Redirection to Untrusted Site ('Open Redirect') The web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a redirect. |
References
REF-41
Testing Flash Applications
Stefano Di Paola.
http://www.wisec.it/en/Docs/flash_App_testing_Owasp07.pdf REF-42
OWASP Web Security Testing Guide
https://www.owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/11-Client-side_Testing/08-Testing_for_Cross_Site_Flashing.html REF-561
Cross-Site Flashing
http://doc.cenzic.com/sadoc9x14ba847/CPL0001509.htm
Submission
Name |
Organization |
Date |
Date release |
CAPEC Content Team |
The MITRE Corporation |
2014-06-23 +00:00 |
|
Modifications
Name |
Organization |
Date |
Comment |
CAPEC Content Team |
The MITRE Corporation |
2019-04-04 +00:00 |
Updated Consequences, References |
CAPEC Content Team |
The MITRE Corporation |
2020-07-30 +00:00 |
Updated Example_Instances, Execution_Flow |
CAPEC Content Team |
The MITRE Corporation |
2020-12-17 +00:00 |
Updated References |
CAPEC Content Team |
The MITRE Corporation |
2023-01-24 +00:00 |
Updated Related_Weaknesses |