Saldi % Saldi Cyber Monday Saldi Saldi % Saldi Saldi Cyber Monday Saldi Saldi % Saldi Saldi Cyber Monday

Cos'è il cross-site scripting (o XSS)?

Monica Webster
cross site scripting

Immagina: all'improvviso non puoi più accedere al tuo negozio online preferito. Inoltre, qualcuno fa degli strani commenti a nome tuo ed effettua ordini. Ricordi quella volta in cui, navigando su un sito web, hai cliccato su un link contenuto in un commento per vedere quella giacca che qualcuno aveva consigliato? Sembra proprio che tu sia stato vittima di cross-site scripting (o XSS). Scopri qui sotto perché è pericoloso ed è così facile cascarci.

Cos'è il cross-site scripting (o XSS)

L'attacco di cross-site scripting (o XSS) si verifica quando un hacker inserisce un codice dannoso in siti web e app normalmente considerati affidabili. Sfrutta i punti deboli dell'HTML, di JavaScript o di qualsiasi altro linguaggio di programmazione supportato dai browser. Tale codice viene eseguito lato client, anziché lato server. Pertanto non danneggia direttamente il sito web, bensì i suoi utenti. Questi infatti, a seconda del tipo di XSS, possono attivare il codice dannoso semplicemente cliccando su un link o visitando un sito web compromesso.

Così facendo, gli hacker possono ottenere una grande quantità di dati sensibili, diffondere trojan, reindirizzare gli utenti su siti web pericolosi, rubare credenziali, ecc.

Tipi di cross-site scripting

XSS riflesso

L'XSS riflesso avviene quando un utente fa clic su un link malevolo verso un sito web vulnerabile. Poi la pagina web riflette lo script al browser della vittima, che lo esegue. I criminali informatici possono così dirottare i cookie di sessione dell'utente e rubarne i dati relativi alle autorizzazioni.

Un sito web che non ripulisca correttamente le richieste in entrata, può consentire loro di inserire script dannosi all'interno di link. È molto probabile che i proprietari del sito in questione non siano nemmeno a conoscenza del fatto che qualcuno se ne serva a tale scopo.

Per esempio, Mary ha un negozio online, che Jane usa molto. Jane accede al sito inserendo il suo nome utente e la sua password, che sono memorizzati in un cookie di autorizzazione. Tom è il malfattore. Scopre che il sito web di Mary contiene una vulnerabilità, crea un URL malevolo, e lo invia a Jane in una e-mail travestita da un'offerta attraente. Jane clicca sul link ed esegue lo script. Lo script quindi infetta il browser di Jane e invia tutti i dettagli di accesso associati al cookie di accesso del sito web a Tom. Tom può accedere al negozio online come Alice, rubare le informazioni di fatturazione e cambiare password.

XSS archiviato

Con l'XSS archiviato, gli hacker non solo possono inserire script malevoli in un link, ma possono anche installarlo sul server di un sito web. In genere, nascondono lo script in una sezione del sito in cui può rimanere nascosto per un periodo di tempo indefinito (ad esempio, in quella dedicata ai commenti). Così facendo, ogni volta che gli utenti accedono a questa sezione, gli hacker possono ottenere le relative credenziali. Per intenderci: l'XSS riflesso rappresenta la canna da pesca, mentre quello archiviato è più simile a una rete con la capacità di colpire un numero molto maggiore di utenti.

Ad esempio, mettiamo che Alice abbia individuato una vulnerabilità nel sito web di Giovanni e abbia quindi inserito un tag HTML dannoso nella sezione relativa ai commenti. Lo lascia lì, senza fare altro. Ora quando i visitatori visitano la sezione commenti, il tag attiva lo script dell'hacker ospitato su un altro sito web. Questo invia tutti i dati dai cookie di autorizzazione. A questo punto, Alice può accedere al sito web spacciandosi per le sue vittime.

XSS basato su DOM

Quando carichi un sito web, il tuo browser crea un modello di oggetto documento (o DOM) della pagina. È come un mediatore tra la pagina HTML e JavaScript, che rende la pagina dinamica e facile da modificare. Nel caso dell'XSS basato su DOM, il codice JavaScript compromesso scrive i dati nel DOM. Proprio come nell'XSS riflesso, un utente lo avvia cliccando su un link compromesso. In questo caso però gli hacker nascondono il codice dannoso molto più in profondità, in modo che non possa essere identificato semplicemente esaminando l'URL. Per farlo, infatti, occorre controllare il codice del sito web.

Self-XSS

L'attacco self-XSS invece non si basa sulla vulnerabilità di un sito web, bensì induce gli utenti a inserire uno script dannoso nel proprio browser. Di solito, i cyber criminali usano alcune tattiche di ingegneria sociale a tal fine. Ad esempio, possono convincere l'utente a inserire nel browser un codice con la promessa che questo gli consentirà di accedere a un altro account con maggiori vantaggi. Tuttavia, tutto ciò che farà sarà permettere all'hacker di impossessarsi dell'account della vittima.

Prevenzione del cross-site scripting

Gli attacchi XSS sono nascosti a livello di codice. Pertanto, possono passare inosservati per molto tempo. Gli stessi proprietari di siti web vulnerabili spesso li identificano troppo tardi. Tuttavia, come sempre, è possibile adottare alcune misure che consentono di evitarli:

  • Usa il software di sicurezza più aggiornato e affidabile, in grado di bloccare automaticamente l'accesso ai siti web pericolosi;

  • Aggiorna regolarmente il browser in modo da avere sempre la versione più recente. Assicurati, inoltre, che abbia funzionalità di sicurezza anti-XSS;

  • Non aprire link sospetti, anche se a prima vista sembrano legittimi. Esamina l'URL in modo approfondito e verifica che non vi sia nulla di insolito;

  • Se noti qualcosa di sospetto, contatta i responsabili del sito web (ad esempio, se non riesci ad accedere con le tue credenziali abituali, se nella lista degli ordini ce ne sono alcuni che non ricordi di aver effettuato, ecc.).

Iscriviti alla newsletter di NordPass

Ricevi le ultime notizie e i suggerimenti di NordPass direttamente nella tua casella di posta.