Reading Time: 3 minutes

Cross Site Script Attack XSS

Un attacco in ascesa è quello basato sullo sfruttamento di vulnerabilità di tipo Cross Site Scripting (XSS).

Questo tipo di vulnerabilità è riscontrabile in numerose applicazioni che consentono l’iniezione di codice (scritto in HTML o con altri Client Side Script Language), da parte di soggetti malintenzionati, entro le pagine Web viste da altri utenti.

Simili vulnerabilità sono dovute a scarsi controlli lato Server e possono essere sfruttate utilizzando metodi di diffusione tipo Phishing.

Sono noti tre distinti tipi di Vulnerabilità XSS:

  • Local;
  • Non-Persistent;
  • Persistent.

Nel primo caso il problema è associato all’esecuzione di codice contenuto in pagine memorizzate localmente sul browser.

Per sfruttare tale vulnerabilità l’attaccante può inviare all’utente un URL (anche via E-mail) di una pagina HTML, costruita ad arte.

Una volta che l’utente clicca sul riferimento che gli viene presentato il browser apre la pagina memorizzata localmente e inizia a eseguire il codice in essa contenuto.

Il codice contenuto nella pagina locale viene eseguito con privilegi pari a quello dell’utente che sta usando il browser.

La difficoltà per l’attaccante sta nel riuscire a copiare localmente la pagina prima che l’utente la richiami in esecuzione.

Nel secondo caso il problema è associato al fatto che le informazioni passate a un Web Server sono utilizzate direttamente per generare la pagina di risposta da restituire all’utente.

Se informazioni non valide sono incluse tra i dati forniti dall’utente legittimo al server remoto (anch’esso trusted) queste possono essere restituite al browser senza opportuna formattazione HTML e causare l’iniezione di codice che viene poi eseguito Client Side.

A prima vista questo inconveniente può non sembrare serio, in quanto l’utente inietta codice solo nelle pagine dinamiche restituite in risposta alle proprie richieste.

In realtà, con una dose di Social Engineering, un attaccante può convincere l’utente a seguire un URL malizioso che contiene il codice da iniettare in modo URL encoded.

Una strategia per sfruttare questa vulnerabilità è la seguente:

L’attaccante è a conoscenza del fatto che l’utente legittimo utilizza un Web Server che consente l’accesso solo dopo aver effettuato il logon fornendo username e password e che il server memorizza informazioni sensibili relative a ciascun utente.

L’attaccante si accerta che il Web server rifletta i parametri inviati al logon senza inserire adeguata formattazione.

L’attaccante forgia un URL per sfruttare la vulnerabilità individuata e lo invia all’utente legittimo via Email affermando che (previo Mail Spoofing) il mittente è il sistema automatico di messaggistica associato al servizio erogato dal Web Server legittimo.

L’utente clicca sull’URL contenuto nella email ed effettua il logon al Web Server.

In questo modo lo script malizioso inserito dall’attaccante nell’URL viene rimbalzato al browser dell’utente direttamente dal Web Server ed eseguito come se si trattasse di uno generico Client Side Script prodotto dal Web Server trusted.

Utilizzando codice opportuno l’attaccante è ora nella possibilità di memorizzare le informazioni sensibili eventualmente digitate localmente dall’utente legittimo e inviarle a sua insaputa a un secondo Web Server mantenuto dall’attaccante.

Esiste infine un altro tipo di attacco XSS denominato Persistent che differisce dal precedente per il modo in cui l’attaccante inietta codice HTML malizioso sul browser dell’utente legittimo.

Invece che spedito via email, l’oggetto contenente il codice ostile può essere precedentemente memorizzato su un Web Server dall’attaccante (esempio classico in tal senso è rappresentato da un server che consente agli utenti di inviare messaggi, message board).

È sufficiente inserire un messaggio dal titolo e dal contenuto accattivante e/o controverso per spingere moltissimi altri utenti a visualizzare il messaggio “postato”.

Questo attacco è particolarmente significativo in quanto richiede all’attaccante di riuscire a iniettare lo script una sola volta su un server di ampia consultazione per avvelenare una molteplicità di client.

A seconda della natura del codice contenuto nella pagina HTML iniettata sul browser l’attaccante è in grado di vedere informazioni riservate presenti nella stessa pagina e/o in cookie associati allo stesso URL.

Utilizzando codice opportuno tali informazioni possono essere recuperate e spedite a insaputa dell’utente legittimo su un Web Server controllato dall’attaccante (o addirittura postato sullo stesso server utilizzato per ospitare il codice ostile).

error: Content is protected !!

La maggior parte dei contenuti del blog ComputerSec vengono pubblicati a beneficio di tutti e in modo completamente gratuito.
Tuttavia per supportare il blog, e per avere ulteriori vantaggi, puoi decidere di abbonarti e sfruttare al 100% tutti i contenuti!
Abbonati Ora!

Complimenti! Ti sei iscritto alla nostra Newsletter

C'è stato un errore durante l'invio della richiesta. Per favore riprova.

Computer Security will use the information you provide on this form to be in touch with you and to provide updates and marketing.