An attacker tricks a victim to execute malicious flash content that executes commands or makes flash calls specified by the attacker. One example of this attack is cross-site flashing, an attacker controlled parameter to a reference call loads from content specified by the attacker.
Description
Attack Execution Flow
Step 1
Explore[Find Injection Entry Points] The attacker first takes an inventory of the entry points of the application.
Spider the website for all available URLs that reference a Flash application.
List all uninitialized global variables (such as _root.*, _global.*, _level0.*) in ActionScript, registered global variables in included files, load variables to external movies.
[Trova Punti di Ingresso per Injection] L'attaccante effettua innanzitutto un inventario dei punti di ingresso dell'applicazione.
Effettua lo spidering del sito web per tutti gli URL disponibili che fanno riferimento a un'applicazione Flash.
Elenca tutte le variabili globali non inizializzate (come _root.*, _global.*, _level0.*) in ActionScript, le variabili globali registrate nei file inclusi, le variabili di caricamento verso filmati esterni.
Attack Techniques
-
Spider the website for all available URLs that reference a Flash application.
-
List all uninitialized global variables (such as _root.*, _global.*, _level0.*) in ActionScript, registered global variables in included files, load variables to external movies.IT: Scansiona il sito web per tutti gli URL disponibili che fanno riferimento a un'applicazione Flash.
Step 2
Experiment[Determine the application's susceptibility to Flash injection] Determine the application's susceptibility to Flash injection. For each URL identified in the explore phase, the attacker attempts to use various techniques such as direct load asfunction, controlled evil page/host, Flash HTML injection, and DOM injection to determine whether the application is susceptible to Flash injection.
Test the page using direct load asfunction, getURL,javascript:gotRoot('')///d.jpg
Test the page using controlled evil page/host, http://example.com/evil.swf
Test the page using Flash HTML injection, ''><img src='asfunction:getURL,javascript:gotRoot('')//.jpg' >
Test the page using DOM injection, (gotRoot(''))
Sperimentazione
[Determinare la suscettibilità dell'applicazione all'iniezione di Flash] Determinare la suscettibilità dell'applicazione all'iniezione di Flash. Per ogni URL identificato nella fase di esplorazione, l'attaccante tenta di utilizzare varie tecniche come load diretto asfunction, pagina/host controllato malevolo, iniezione HTML di Flash e iniezione DOM per verificare se l'applicazione è vulnerabile all'iniezione di Flash.
Testare la pagina utilizzando load diretto asfunction, getURL, javascript:gotRoot("")///d.jpg
Testare la pagina utilizzando pagina/host controllato malevolo, http://example.com/evil.swf
Testare la pagina utilizzando iniezione HTML di Flash, "'><img src='asfunction:getURL,javascript:gotRoot("")//.jpg' >
Testare la pagina utilizzando iniezione DOM, (gotRoot(''))
Attack Techniques
-
Test the page using DOM injection, (gotRoot(''))
-
Test the page using direct load asfunction, getURL,javascript:gotRoot("")///d.jpgIT: Testa la pagina utilizzando DOM injection, (gotRoot(''))
-
Test the page using controlled evil page/host, http://example.com/evil.swfIT: Testa la pagina utilizzando DOM injection, (gotRoot(''))
-
Test the page using Flash HTML injection, "'><img src='asfunction:getURL,javascript:gotRoot("")//.jpg' >IT: Testa la pagina utilizzando DOM injection, (gotRoot(''))
Step 3
Exploit[Inject malicious content into target] Inject malicious content into target utilizing vulnerable injection vectors identified in the Experiment phase
[Inserire contenuto dannoso nel bersaglio] Inserire contenuto dannoso nel bersaglio utilizzando vettori di injection vulnerabili identificati nella fase di Esperimento