LA GUIDA

Cross-site Scripting: come funziona un attacco XSS e come proteggersi

Il Cross-site Scripting (XSS) è una vulnerabilità dei siti Web che consente ad un attaccante remoto di “iniettare” script dannosi nelle singole pagine con lo scopo di rubare informazioni riservate o installare malware sui browser degli utenti. Scopriamo come funziona per imparare a difenderci

13 Giu 2019

Il Cross-site Scripting (XSS) è una vulnerabilità dei siti Web dinamici in cui l’attaccante utilizza del codice malevolo al fine di raccogliere, manipolare e reindirizzare informazioni riservate di utenti ignari che navigano e utilizzano i servizi pubblici o privati disponibili su Internet.

Originariamente, la sigla venne utilizzata per definire tutti gli attacchi compiuti mediante applicazioni che sfruttavano il linguaggio javascript. Nel tempo tale definizione si è ampliata anche per comprendere altri modi di iniezione di codice malevolo tra cui ActiveX, Java, VBscript, Flash e anche HTML.

Cross-site Scripting: come funziona

La tecnica di funzionamento del Cross-site Scripting è abbastanza semplice. In pratica, un eventuale attaccante remoto potrebbe “iniettare” del codice malevolo nella barra degli indirizzi insieme alla URL digitata dall’ignara vittima in modo tale da far eseguire al server Web su sui è ospitato il sito che sta visitando alcuni comandi che verranno eseguiti solo se il server stesso è stato mal configurato dagli sviluppatori del sito.

WHITEPAPER
CYBERSECURITY: le migliori strategie per la tutela e la continuità dei servizi IT
Sicurezza
Cybersecurity

Inserendo per esempio del codice javascript, un attaccante è in grado di rubare dati sensibili contenuti nei cookie di sessione, nei token di sessione e via dicendo.

I cookie di sessione, in particolare, sono dei semplici file di testo utilizzati per autenticarsi nei servizi utilizzati dalla vittima. Un attaccante che riuscisse a leggerne il contenuto sarebbe poi in grado di impersonificarla e utilizzare i vari servizi al suo posto.

Per fare un esempio pratico, immaginiamo di andare in una discoteca in cui la biglietteria è mal gestita a tal punto che, quando acquistiamo il nostro biglietto ci viene dato in mano un foglietto di carta con sopra i nostri nome e cognome. Dopo un po’, entra un altro tizio che ci ha spiato e sentito mentre parlavamo col bigliettaio: si avvicina a lui e, invece di pagare il biglietto, gli fornisce le nostre generalità dicendogli di aver perso il biglietto e chiedendogli di timbrarne uno nuovo. A quel punto, il bigliettaio sbadato gli stampa un biglietto uguale al nostro e lo fa entrare.

Paragoniamo ora questo esempio al caso in cui ci colleghiamo al sito di home banking o a un qualsiasi altro tipo di servizio pubblico o privato al quale siamo già registrati e che normalmente utilizziamo per i nostri scopi privati. È facile immaginare quali potrebbero essere le conseguenze.

Analisi tecnica di un attacco

Per scongiurare un attacco di tipo Cross-site Scripting è sempre bene analizzare gli header dei messaggi che riceviamo da un server quando effettuiamo una richiesta di visualizzazione di una pagina Web.

Per farlo, non c’è bisogno di utilizzare strumenti software evoluti: basta anche il browser Chrome, ad esempio.

Una volta aperta la pagina Web che ci interessa, premiamo il tasto F12 per entrare in modalità Sviluppatore. Nella schermata che appare spostiamoci nel tab Network ed eseguiamo uno scan dei contenuti della pagina per analizzare proprio i flag dei cookie: la mancanza di flag come HttpOnly, SameSite e Secure sono sicuramente indice di scarsa sicurezza del sito visitato. Vediamo perché:

  • innanzitutto, se il flag Httponly è attivo allora non si può accedere a un cookie attraverso uno script lato client (da valutare se il browser lo supporta), quindi anche se la vulnerabilità XSS fosse presente e un utente dovesse accidentalmente cliccare sul link malevolo, il browser stesso non rivelerebbe il cookie di sessione a un utente non autorizzato;
  • il flag Samesite, invece, impedisce agli attacchi di tipo Cross site request forgery. La sua attivazione rappresenta un altro modo utile per prevenire altre attività ingannevoli con lo scopo stavolta di usare il browser stesso dell’utente senza bisogno di rubare il cookie di sessione;
  • infine l’attributo Secure. Attivando il flag corrispondente, si forzano i browser ad usare il protocollo HTTPS, connessione cifrata che rende il cookie illeggibile dall’ attaccante.

Il flag Secure, però, non è totalmente sicuro.

Molti siti a volte dispongono di connessioni sia in HTTPS sia in HTTP. Il protocollo HTTPS, in particolare, prevede la cifratura del traffico Internet che impedisce a un attaccante di vedere un cookie con un testo leggibile e in chiaro.

Se il sito dispone anche della versione HTTP, però, un attaccante potrebbe forzare l’utente ad autenticarsi al sito mediante connessione non criptata manipolando l’header set cookie nella richiesta fornita al client dal server e sovrascrivendo il cookie di sessione contenente il flag Secure.

Questo cookie modificato sarà poi usato nelle richieste successive mandate in HTTPS ed ecco come l’XSS ha ancora avuto modo di avere la meglio, sempre che non vengano rigenerate le sessioni dopo un’autenticazione che ha avuto successo.

Supponiamo, adesso, di avere un sito che non abbia nessuna di queste protezioni attive.

Immaginiamo di avere nel sorgente della nostra pagina un codice in PHP come il seguente:

<?php echo $_GET[‘id’]; ?>

Il comando get, ipotizzando di avere una pagina dinamica chiamata index.php, consente di visualizzare informazioni diversificate sul contenuto del sito per esempio di ricette, tipi di automobili e via dicendo.

Se il link all’home page è www.sitoesempio.it/index.php, un eventuale attaccante remoto sfruttando il metodo get potrebbe inserire direttamente all’interno della URL della pagina alcune istruzioni preceduta da un punto di domanda. Un esempio banale è il seguente:

www.sitoesempio.it/index.php?id=10

Banalmente, grazie a questa istruzione l’interprete PHP risponderà che si sta visualizzando l’articolo numero 10.

Analogamente, un attaccante potrebbe aggiungere alla URL un ben più pericoloso codice javascript:

www.sitoesempio.it/index.php?id=<script>alert(document.cookie);</script>

Nel momento in cui il server elabora la richiesta per la pagina Web indicata, il comando viene eseguito e il codice iniettato viene interpretato normalmente dal browser dell’utente in quanto lo sviluppatore del sito non ha pensato di prevedere o di impedire in qualche modo questa possibilità.

Il risultato è che lo script document.cookie abbinato alla variabile alert metterà in evidenza i cookie sottoforma di un messaggio di avviso.

Consigli per difendersi dal Cross-site Scripting

Ovviamente, questo è solo un semplice test per comprendere il funzionamento di un attacco XSS. Un eventuale criminal hacker potrebbe sostituire questo script implementando tecniche ovviamente non visibili all’utente per impedirgli di capire cosa sta succedendo.

Oltre a verificare che il web server sia configurato correttamente, quindi, dobbiamo noi stessi in quanto sviluppatori Web renderci conto che dobbiamo proteggere il codice che sviluppiamo per le app rivolte ai nostri clienti e prevenirne la manomissione da parte di utenti malintenzionati.

Per questo è importante conoscere bene le best practice riguardanti la validazione del codice, la sanitizzazione e l’escaping e quindi tutelare efficacemente i dati sensibili dei nostri clienti anche da attacchi di tipo XSS.

Lato utente, invece, per impedire e proteggersi da un attacco di tipo Cross-site Scripting è necessario, innanzitutto, un buon antivirus sul proprio computer e tenerlo sempre aggiornato con le ultime firme virali disponibili.

È importante, poi, tenere sempre aggiornato anche il browser che usiamo per navigare su Internet ed eventualmente installare uno strumento di analisi in grado di verificare la presenza di vulnerabilità nel codice di un sito Web.

WHITEPAPER
Perché impostare una strategia di manutenzione dei server?
Datacenter
Sicurezza
@RIPRODUZIONE RISERVATA

Speciale PNRR

Tutti
Incentivi
Salute digitale
Formazione
Analisi
Sostenibilità
PA
Sostemibilità
Sicurezza
Digital Economy
CODICE STARTUP
Imprenditoria femminile: come attingere ai fondi per le donne che fanno impresa
DECRETI
PNRR e Fascicolo Sanitario Elettronico: investimenti per oltre 600 milioni
IL DOCUMENTO
Competenze digitali, ecco il nuovo piano operativo nazionale
STRUMENTI
Da Istat e RGS gli indicatori per misurare la sostenibilità nel PNRR
STRATEGIE
PNRR – Piano nazionale di Ripresa e Resilienza: cos’è e novità
FONDI
Pnrr, ok della Ue alla seconda rata da 21 miliardi: focus su 5G e banda ultralarga
GREEN ENERGY
Energia pulita: Banca Sella finanzia i progetti green incentivati dal PNRR
TECNOLOGIA SOLIDALE
Due buone notizie digitali: 500 milioni per gli ITS e l’inizio dell’intranet veloce in scuole e ospedali
INNOVAZIONE
Competenze digitali e InPA cruciali per raggiungere gli obiettivi del Pnrr
STRATEGIE
PA digitale 2026, come gestire i fondi PNRR in 5 fasi: ecco la proposta
ANALISI
Value-based healthcare: le esperienze in Italia e il ruolo del PNRR
Strategie
Accordi per l’innovazione, per le imprese altri 250 milioni
Strategie
PNRR, opportunità e sfide per le smart city
Strategie
Brevetti, il Mise mette sul piatto 8,5 milioni
Strategie
PNRR e opere pubbliche, la grande sfida per i Comuni e perché bisogna pensare digitale
Formazione
Trasferimento tecnologico, il Mise mette sul piatto 7,5 milioni
Strategie
PSN e Strategia Cloud Italia: a che punto siamo e come supportare la PA in questo percorso
Dispersione idrica
Siccità: AI e analisi dei dati possono ridurre gli sprechi d’acqua. Ecco gli interventi necessari
PNRR
Cloud, firmato il contratto per l’avvio di lavori del Polo strategico
Formazione
Competenze digitali, stanziati 48 milioni per gli Istituti tecnologici superiori
Iniziative
Digitalizzazione delle reti idriche: oltre 600 milioni per 21 progetti
Competenze e competitività
PNRR, così i fondi UE possono rilanciare la ricerca e l’Università
Finanziamenti
PNRR, si sbloccano i fondi per l’agrisolare
Sanità post-pandemica
PNRR, Missione Salute: a che punto siamo e cosa resta da fare
Strategie
Sovranità e autonomia tecnologica nazionale: come avviare un processo virtuoso e sostenibile
La relazione
Pnrr e PA digitale, l’alert della Corte dei conti su execution e capacità di spesa
L'editoriale
Elezioni 2022, la sfida digitale ai margini del dibattito politico
Strategie
Digitale, il monito di I-Com: “Senza riforme Pnrr inefficace”
Transizione digitale
Pnrr: arrivano 321 milioni per cloud dei Comuni, spazio e mobilità innovativa
L'analisi I-COM
Il PNRR alla prova delle elezioni: come usare bene le risorse e centrare gli obiettivi digitali
Cineca
Quantum computing, una svolta per la ricerca: lo scenario europeo e i progetti in corso
L'indice europeo
Desi, l’Italia scala due posizioni grazie a fibra e 5G. Ma è (ancora) allarme competenze
L'approfondimento
PNRR 2, ecco tutte le misure per cittadini e imprese: portale sommerso, codice crisi d’impresa e sismabonus, cosa cambia
Servizi digitali
PNRR e trasformazione digitale: ecco gli investimenti e le riforme previste per la digitalizzazione della PA
Legal health
Lo spazio europeo dei dati sanitari: come circoleranno le informazioni sulla salute nell’Unione Europea
Servizi digitali
PNRR e PA digitale: non dimentichiamo la dematerializzazione
Digital Healthcare transformation
La trasformazione digitale degli ospedali
Governance digitale
PA digitale, è la volta buona? Così misure e risorse del PNRR possono fare la differenza
Servizi digitali
Comuni e digitale, come usare il PNRR senza sbagliare
La survey
Pnrr e digitale accoppiata vincente per il 70% delle pmi italiane
Missione salute
Fascicolo Sanitario Elettronico alla prova del PNRR: limiti, rischi e opportunità
Servizi pubblici
PNRR: come diventeranno i siti dei comuni italiani grazie alle nuove risorse
Skill gap
PNRR, la banda ultra larga crea 20.000 nuovi posti di lavoro
Il Piano
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUMPA2022
PNRR e trasformazione digitale: rivedi i Talk di FORUM PA 2022 in collaborazione con le aziende partner
I contratti
Avio, 340 milioni dal Pnrr per i nuovi propulsori a metano
Next Generation EU
PNRR, a che punto siamo e cosa possono aspettarsi le aziende private
Fondi
Operativo il nuovo portale del MISE con tutti i finanziamenti per le imprese
Servizi comunali
Il PNRR occasione unica per i Comuni digitali: strumenti e risorse per enti e cittadini
Healthcare data platform
PNRR dalla teoria alla pratica: tecnologie e soluzioni per l’innovazione in Sanità
Skill
Competenze digitali, partono le Reti di facilitazione
Gli obiettivi
Scuola 4.0, PNRR ultima chance: ecco come cambierà il sistema formativo
Sistema Paese
PNRR 2, è il turno della space economy
FORUM PA 2022
FORUM PA 2022: la maturità digitale dei comuni italiani rispetto al PNRR
Analisi
PNRR: dalla Ricerca all’impresa, una sfida da cogliere insieme
Innovazione
Pnrr, il Dipartimento per la Trasformazione digitale si riorganizza
FORUM PA 2022
PA verde e sostenibile: il ruolo di PNRR, PNIEC, energy management e green public procurement
Analisi
PNRR, Comuni e digitalizzazione: tutto su fondi e opportunità, in meno di 3 minuti. Guarda il video!
Rapporti
Competenze digitali e servizi automatizzati pilastri del piano Inps
Analisi
Attuazione del PNRR: il dialogo necessario tra istituzioni e società civile. Rivedi lo Scenario di FORUM PA 2022
Progetti
Pnrr, fondi per il Politecnico di Torino. Fra i progetti anche IS4Aerospace
Analisi
PNRR, Colao fa il punto sulla transizione digitale dell’Italia: «In linea con tutte le scadenze»
La Svolta
Ict, Istat “riclassifica” i professionisti. Via anche al catalogo dati sul Pnrr
Analisi
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUM PA 2022
Ecosistema territoriale sostenibile: l’Emilia Romagna tra FESR e PNRR
Il Piano
Innovazione, il Mise “centra” gli obiettivi Pnrr: attivati 17,5 miliardi
Analisi
PNRR: raggiunti gli obiettivi per il primo semestre 2022. Il punto e qualche riflessione
Analisi
PNRR: dal dialogo tra PA e società civile passa il corretto monitoraggio dei risultati, tra collaborazione e identità dei luoghi
Webinar
Comuni e PNRR: un focus sui bandi attivi o in pubblicazione
Analisi
Formazione 4.0: cos’è e come funziona il credito d’imposta
PA e Sicurezza
PA e sicurezza informatica: il ruolo dei territori di fronte alle sfide della digitalizzazione
PA e sicurezza
PNRR e servizi pubblici digitali: sfide e opportunità per Comuni e Città metropolitane
Water management
Water management in Italia: verso una transizione “smart” e “circular” 
LE RISORSE
Transizione digitale, Simest apre i fondi Pnrr alle medie imprese
Prospettive
Turismo, cultura e digital: come spendere bene le risorse del PNRR
Analisi
Smart City: quale contributo alla transizione ecologica
Decarbonizzazione
Idrogeno verde, 450 milioni € di investimenti PNRR, Cingolani firma
Unioncamere
PNRR, imprese in ritardo: ecco come le Camere di commercio possono aiutare
I fondi
Industria 4.0: solo un’impresa su tre pronta a salire sul treno Pnrr
CODICE STARTUP
Imprenditoria femminile: come attingere ai fondi per le donne che fanno impresa
DECRETI
PNRR e Fascicolo Sanitario Elettronico: investimenti per oltre 600 milioni
IL DOCUMENTO
Competenze digitali, ecco il nuovo piano operativo nazionale
STRUMENTI
Da Istat e RGS gli indicatori per misurare la sostenibilità nel PNRR
STRATEGIE
PNRR – Piano nazionale di Ripresa e Resilienza: cos’è e novità
FONDI
Pnrr, ok della Ue alla seconda rata da 21 miliardi: focus su 5G e banda ultralarga
GREEN ENERGY
Energia pulita: Banca Sella finanzia i progetti green incentivati dal PNRR
TECNOLOGIA SOLIDALE
Due buone notizie digitali: 500 milioni per gli ITS e l’inizio dell’intranet veloce in scuole e ospedali
INNOVAZIONE
Competenze digitali e InPA cruciali per raggiungere gli obiettivi del Pnrr
STRATEGIE
PA digitale 2026, come gestire i fondi PNRR in 5 fasi: ecco la proposta
ANALISI
Value-based healthcare: le esperienze in Italia e il ruolo del PNRR
Strategie
Accordi per l’innovazione, per le imprese altri 250 milioni
Strategie
PNRR, opportunità e sfide per le smart city
Strategie
Brevetti, il Mise mette sul piatto 8,5 milioni
Strategie
PNRR e opere pubbliche, la grande sfida per i Comuni e perché bisogna pensare digitale
Formazione
Trasferimento tecnologico, il Mise mette sul piatto 7,5 milioni
Strategie
PSN e Strategia Cloud Italia: a che punto siamo e come supportare la PA in questo percorso
Dispersione idrica
Siccità: AI e analisi dei dati possono ridurre gli sprechi d’acqua. Ecco gli interventi necessari
PNRR
Cloud, firmato il contratto per l’avvio di lavori del Polo strategico
Formazione
Competenze digitali, stanziati 48 milioni per gli Istituti tecnologici superiori
Iniziative
Digitalizzazione delle reti idriche: oltre 600 milioni per 21 progetti
Competenze e competitività
PNRR, così i fondi UE possono rilanciare la ricerca e l’Università
Finanziamenti
PNRR, si sbloccano i fondi per l’agrisolare
Sanità post-pandemica
PNRR, Missione Salute: a che punto siamo e cosa resta da fare
Strategie
Sovranità e autonomia tecnologica nazionale: come avviare un processo virtuoso e sostenibile
La relazione
Pnrr e PA digitale, l’alert della Corte dei conti su execution e capacità di spesa
L'editoriale
Elezioni 2022, la sfida digitale ai margini del dibattito politico
Strategie
Digitale, il monito di I-Com: “Senza riforme Pnrr inefficace”
Transizione digitale
Pnrr: arrivano 321 milioni per cloud dei Comuni, spazio e mobilità innovativa
L'analisi I-COM
Il PNRR alla prova delle elezioni: come usare bene le risorse e centrare gli obiettivi digitali
Cineca
Quantum computing, una svolta per la ricerca: lo scenario europeo e i progetti in corso
L'indice europeo
Desi, l’Italia scala due posizioni grazie a fibra e 5G. Ma è (ancora) allarme competenze
L'approfondimento
PNRR 2, ecco tutte le misure per cittadini e imprese: portale sommerso, codice crisi d’impresa e sismabonus, cosa cambia
Servizi digitali
PNRR e trasformazione digitale: ecco gli investimenti e le riforme previste per la digitalizzazione della PA
Legal health
Lo spazio europeo dei dati sanitari: come circoleranno le informazioni sulla salute nell’Unione Europea
Servizi digitali
PNRR e PA digitale: non dimentichiamo la dematerializzazione
Digital Healthcare transformation
La trasformazione digitale degli ospedali
Governance digitale
PA digitale, è la volta buona? Così misure e risorse del PNRR possono fare la differenza
Servizi digitali
Comuni e digitale, come usare il PNRR senza sbagliare
La survey
Pnrr e digitale accoppiata vincente per il 70% delle pmi italiane
Missione salute
Fascicolo Sanitario Elettronico alla prova del PNRR: limiti, rischi e opportunità
Servizi pubblici
PNRR: come diventeranno i siti dei comuni italiani grazie alle nuove risorse
Skill gap
PNRR, la banda ultra larga crea 20.000 nuovi posti di lavoro
Il Piano
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUMPA2022
PNRR e trasformazione digitale: rivedi i Talk di FORUM PA 2022 in collaborazione con le aziende partner
I contratti
Avio, 340 milioni dal Pnrr per i nuovi propulsori a metano
Next Generation EU
PNRR, a che punto siamo e cosa possono aspettarsi le aziende private
Fondi
Operativo il nuovo portale del MISE con tutti i finanziamenti per le imprese
Servizi comunali
Il PNRR occasione unica per i Comuni digitali: strumenti e risorse per enti e cittadini
Healthcare data platform
PNRR dalla teoria alla pratica: tecnologie e soluzioni per l’innovazione in Sanità
Skill
Competenze digitali, partono le Reti di facilitazione
Gli obiettivi
Scuola 4.0, PNRR ultima chance: ecco come cambierà il sistema formativo
Sistema Paese
PNRR 2, è il turno della space economy
FORUM PA 2022
FORUM PA 2022: la maturità digitale dei comuni italiani rispetto al PNRR
Analisi
PNRR: dalla Ricerca all’impresa, una sfida da cogliere insieme
Innovazione
Pnrr, il Dipartimento per la Trasformazione digitale si riorganizza
FORUM PA 2022
PA verde e sostenibile: il ruolo di PNRR, PNIEC, energy management e green public procurement
Analisi
PNRR, Comuni e digitalizzazione: tutto su fondi e opportunità, in meno di 3 minuti. Guarda il video!
Rapporti
Competenze digitali e servizi automatizzati pilastri del piano Inps
Analisi
Attuazione del PNRR: il dialogo necessario tra istituzioni e società civile. Rivedi lo Scenario di FORUM PA 2022
Progetti
Pnrr, fondi per il Politecnico di Torino. Fra i progetti anche IS4Aerospace
Analisi
PNRR, Colao fa il punto sulla transizione digitale dell’Italia: «In linea con tutte le scadenze»
La Svolta
Ict, Istat “riclassifica” i professionisti. Via anche al catalogo dati sul Pnrr
Analisi
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUM PA 2022
Ecosistema territoriale sostenibile: l’Emilia Romagna tra FESR e PNRR
Il Piano
Innovazione, il Mise “centra” gli obiettivi Pnrr: attivati 17,5 miliardi
Analisi
PNRR: raggiunti gli obiettivi per il primo semestre 2022. Il punto e qualche riflessione
Analisi
PNRR: dal dialogo tra PA e società civile passa il corretto monitoraggio dei risultati, tra collaborazione e identità dei luoghi
Webinar
Comuni e PNRR: un focus sui bandi attivi o in pubblicazione
Analisi
Formazione 4.0: cos’è e come funziona il credito d’imposta
PA e Sicurezza
PA e sicurezza informatica: il ruolo dei territori di fronte alle sfide della digitalizzazione
PA e sicurezza
PNRR e servizi pubblici digitali: sfide e opportunità per Comuni e Città metropolitane
Water management
Water management in Italia: verso una transizione “smart” e “circular” 
LE RISORSE
Transizione digitale, Simest apre i fondi Pnrr alle medie imprese
Prospettive
Turismo, cultura e digital: come spendere bene le risorse del PNRR
Analisi
Smart City: quale contributo alla transizione ecologica
Decarbonizzazione
Idrogeno verde, 450 milioni € di investimenti PNRR, Cingolani firma
Unioncamere
PNRR, imprese in ritardo: ecco come le Camere di commercio possono aiutare
I fondi
Industria 4.0: solo un’impresa su tre pronta a salire sul treno Pnrr