An adversary leverages the capability to execute their own script by embedding it within other scripts that the target software is likely to execute due to programs' vulnerabilities that are brought on by allowing remote hosts to execute scripts.
Description
Attack Execution Flow
Step 1
Explore[Spider] Using a browser or an automated tool, an adversary records all entry points for inputs that happen to be reflected in a client-side script element. These script elements can be located in the HTML content (head, body, comments), in an HTML tag, XML, CSS, etc.
Use a spidering tool to follow and record all non-static links that are likely to have input parameters (through forms, URL, fragments, etc.) actively used by the Web application.
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.
[Spider] Utilizzando un browser o uno strumento automatizzato, un adversary registra tutti i punti di ingresso per gli input che risultano riflessi in un elemento script lato client. Questi elementi script possono essere localizzati nel contenuto HTML (head, body, commenti), in un tag HTML, XML, CSS, ecc.
Utilizza uno strumento di spidering per seguire e registrare tutti i link non statici che probabilmente contengono parametri di input (tramite form, URL, frammenti, ecc.) attivamente utilizzati dall'applicazione Web.
Utilizza uno strumento proxy per registrare tutti i link visitati durante una navigazione manuale dell'applicazione web.
Usa un browser per esplorare manualmente il sito e analizzare come è strutturato. Sono disponibili numerosi plugin per browser che facilitano l'analisi o automatizzano la scoperta.
Attack Techniques
-
Use a spidering tool to follow and record all non-static links that are likely to have input parameters (through forms, URL, fragments, etc.) actively used by 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.IT: Utilizza uno strumento di spidering per seguire e registrare tutti i link non statici che probabilmente contengono parametri di input (tramite form, URL, frammenti, ecc.) attivamente utilizzati dall'applicazione Web.
-
Use a proxy tool to record all links visited during a manual traversal of the web application.IT: Utilizza uno strumento di spidering per seguire e registrare tutti i link non statici che probabilmente contengono parametri di input (tramite form, URL, frammenti, ecc.) attivamente utilizzati dall'applicazione Web.
Step 2
Experiment[Probe identified potential entry points for XSS vulnerability] The adversary uses the entry points gathered in the 'Explore' phase as a target list and injects various common script payloads to determine if an entry point actually represents a vulnerability and to characterize the extent to which the vulnerability can be exploited.
Manually inject various script payloads into each identified entry point using a list of common script injection probes that typically work in a client-side script elements context and observe system behavior to determine if script was executed.
Manually inject various script payloads into each identified entry point using a list of common script injection probes that typically work in a server-side script elements context and observe system behavior to determine if script was executed.
Use an automated injection attack tool to inject various script payloads into each identified entry point using a list of common script injection probes that typically work in a client-side script elements context and observe system behavior to determine if script was executed.
Use an automated injection attack tool to inject various script payloads into each identified entry point using a list of common script injection probes that typically work in a server-side script elements context and observe system behavior to determine if script was executed.
Use a proxy tool to record results of the created requests.
Sperimentazione
[Probe identificata potenziali punti di ingresso per vulnerabilità XSS] L'adversary utilizza i punti di ingresso raccolti nella fase "Esplora" come lista di obiettivi e inietta vari payload di script comuni per determinare se un punto di ingresso rappresenta effettivamente una vulnerabilità e per caratterizzare l'estensione dello sfruttamento della vulnerabilità.
Inietta manualmente vari payload di script in ciascun punto di ingresso identificato utilizzando una lista di probe di iniezione di script comuni che tipicamente funzionano nel contesto di elementi script lato client e osserva il comportamento del sistema per determinare se lo script è stato eseguito.
Inietta manualmente vari payload di script in ciascun punto di ingresso identificato utilizzando una lista di probe di iniezione di script comuni che tipicamente funzionano nel contesto di elementi script lato server e osserva il comportamento del sistema per determinare se lo script è stato eseguito.
Utilizza uno strumento di attacco automatizzato di injection per iniettare vari payload di script in ciascun punto di ingresso identificato utilizzando una lista di probe di iniezione di script comuni che tipicamente funzionano nel contesto di elementi script lato client e osserva il comportamento del sistema per determinare se lo script è stato eseguito.
Utilizza uno strumento di attacco automatizzato di injection per iniettare vari payload di script in ciascun punto di ingresso identificato utilizzando una lista di probe di iniezione di script comuni che tipicamente funzionano nel contesto di elementi script lato server e osserva il comportamento del sistema per determinare se lo script è stato eseguito.
Utilizza uno strumento proxy per registrare i risultati delle richieste create.
Attack Techniques
-
Manually inject various script payloads into each identified entry point using a list of common script injection probes that typically work in a client-side script elements context and observe system behavior to determine if script was executed.
-
Use an automated injection attack tool to inject various script payloads into each identified entry point using a list of common script injection probes that typically work in a client-side script elements context and observe system behavior to determine if script was executed.IT: Inietta manualmente vari payload di script in ciascun punto di ingresso identificato utilizzando un elenco di probe comuni di script injection che tipicamente funzionano nel contesto di elementi script lato client e osserva il comportamento del sistema per determinare se lo script è stato eseguito.
-
Manually inject various script payloads into each identified entry point using a list of common script injection probes that typically work in a server-side script elements context and observe system behavior to determine if script was executed.IT: Inietta manualmente vari payload di script in ciascun punto di ingresso identificato utilizzando un elenco di probe comuni di script injection che tipicamente funzionano nel contesto di elementi script lato client e osserva il comportamento del sistema per determinare se lo script è stato eseguito.
-
Use an automated injection attack tool to inject various script payloads into each identified entry point using a list of common script injection probes that typically work in a server-side script elements context and observe system behavior to determine if script was executed.IT: Inietta manualmente vari payload di script in ciascun punto di ingresso identificato utilizzando un elenco di probe comuni di script injection che tipicamente funzionano nel contesto di elementi script lato client e osserva il comportamento del sistema per determinare se lo script è stato eseguito.
-
Use a proxy tool to record results of the created requests.IT: Inietta manualmente vari payload di script in ciascun punto di ingresso identificato utilizzando un elenco di probe comuni di script injection che tipicamente funzionano nel contesto di elementi script lato client e osserva il comportamento del sistema per determinare se lo script è stato eseguito.
Step 3
Exploit[Steal session IDs, credentials, page content, etc.] As the adversary succeeds in exploiting the vulnerability, they can choose to steal user's credentials in order to reuse or to analyze them later on.
Develop malicious JavaScript that is injected through vectors identified during the Experiment Phase and loaded by the victim's browser and sends document information to the adversary.
Develop malicious JavaScript that injected through vectors identified during the Experiment Phase and takes commands from an adversary's server and then causes the browser to execute appropriately.
[Rubare session ID, credenziali, contenuto della pagina, ecc.] Man mano che l'avversario riesce a sfruttare la vulnerabilità, può scegliere di rubare le credenziali dell'utente per riutilizzarle o analizzarle successivamente.
Sviluppare JavaScript dannoso che viene iniettato attraverso vettori identificati durante la Fase di Sperimentazione e caricato dal browser della vittima, inviando informazioni del documento all'avversario.
Sviluppare JavaScript dannoso che viene iniettato attraverso vettori identificati durante la Fase di Sperimentazione e riceve comandi da un server dell'avversario, causando quindi l'esecuzione di azioni appropriate nel browser.
Attack Techniques
-
Develop malicious JavaScript that is injected through vectors identified during the Experiment Phase and loaded by the victim's browser and sends document information to the adversary.
-
Develop malicious JavaScript that injected through vectors identified during the Experiment Phase and takes commands from an adversary's server and then causes the browser to execute appropriately.IT: Sviluppare JavaScript dannoso che viene iniettato attraverso vettori identificati durante la Fase di Sperimentazione e caricato dal browser della vittima, inviando informazioni sul documento all'attaccante.
Step 4
Exploit[Forceful browsing] When the adversary targets the current application or another one (through CSRF vulnerabilities), the user will then be the one who perform the attacks without being aware of it. These attacks are mostly targeting application logic flaws, but it can also be used to create a widespread attack against a particular website on the user's current network (Internet or not).
Develop malicious JavaScript that is injected through vectors identified during the Experiment Phase and loaded by the victim's browser and performs actions on the same web site
Develop malicious JavaScript that injected through vectors identified during the Experiment Phase and takes commands from an adversary's server and then causes the browser to execute request to other web sites (especially the web applications that have CSRF vulnerabilities).
[Forceful browsing] Quando l'adversario prende di mira l'applicazione corrente o un'altra (tramite vulnerabilità CSRF), l'utente sarà colui che esegue gli attacchi senza esserne consapevole. Questi attacchi mirano principalmente a sfruttare falle nella logica dell'applicazione, ma possono anche essere utilizzati per creare un attacco diffuso contro un sito web specifico sulla rete corrente dell'utente (Internet o meno).
Sviluppare JavaScript dannoso che viene iniettato attraverso vettori identificati durante la Fase di Sperimentazione e caricato dal browser della vittima, eseguendo azioni sullo stesso sito web
Sviluppare JavaScript dannoso che, iniettato tramite vettori identificati durante la Fase di Sperimentazione, riceve comandi da un server adversario e quindi induce il browser a eseguire richieste ad altri siti web (specialmente le applicazioni web che presentano vulnerabilità CSRF).
Attack Techniques
-
Develop malicious JavaScript that is injected through vectors identified during the Experiment Phase and loaded by the victim's browser and performs actions on the same web site
-
Develop malicious JavaScript that injected through vectors identified during the Experiment Phase and takes commands from an adversary's server and then causes the browser to execute request to other web sites (especially the web applications that have CSRF vulnerabilities).IT: Sviluppare JavaScript dannoso che venga iniettato tramite vettori identificati durante la Fase di Sperimentazione e caricato dal browser della vittima, eseguendo azioni sullo stesso sito web
Step 5
Exploit[Content spoofing] By manipulating the content, the adversary targets the information that the user would like to get from the website.
Develop malicious JavaScript that is injected through vectors identified during the Experiment Phase and loaded by the victim's browser and exposes adversary-modified invalid information to the user on the current web page.
[Content spoofing] Manipolando il contenuto, l'attaccante mira alle informazioni che l'utente desidera ottenere dal sito web.
Sviluppa JavaScript dannoso che viene iniettato attraverso vettori identificati durante la Fase di Sperimentazione e caricato dal browser della vittima, esponendo all'utente informazioni non valide modificate dall'attaccante sulla pagina web corrente.
Attack Techniques
-
Develop malicious JavaScript that is injected through vectors identified during the Experiment Phase and loaded by the victim's browser and exposes adversary-modified invalid information to the user on the current web page.