Gli attacchi cross-site Scripting (XSS) vengono utilizzati per rubare dati e dirottare le sessioni di navigazione in modo che gli aggressori possano agire per conto di una vittima. Gli aggressori possono utilizzare questa opportunità per modificare le pagine web, pubblicare su account social, avviare bonifici bancari o effettuare acquisti fraudolenti.
Ciò si ottiene ingannando applicazioni e siti Web per l’invio di script dannosi attraverso il browser web. Il metodo più comune per l’acquisizione di sessioni utente consiste nell’iniettare codice utilizzando campi modulo o altri campi di input dati.
- Rischi di attacchi XSS
- Rischio per gli utenti
- Rischio per le aziende
- Tipi di attacchi XSS
- Attacchi XSS riflessi
- Attacchi XSS basati su DOM
- Attacchi XSS persistenti/memorizzati
- Come prevenire gli attacchi XSS
- Mantieni aggiornato il software
- Sanificare e convalidare i campi di input
- Web Application firewall
- Content security policy
Rischi di attacchi XSS
Gli attacchi XSS rappresentano rischi vitali per la sicurezza sia per gli utenti che per le aziende.
Rischio per gli utenti
Gli aggressori che dirottano la sessione di un utente possono intraprendere una serie di azioni dannose che li riguardano. Monetariamente parlando, possono effettuare addebiti fraudolenti utilizzando le loro carte bancarie o trasferire direttamente denaro su altri conti.
Gli attacchi XSS possono anche essere utilizzati per estrarre informazioni sensibili da cookie e database. Queste informazioni possono essere utilizzate per il furto di identità.
Rischio per le aziende
Se un utente malintenzionato ottiene una sospensione di credenziali utente rubate, possono devastare anche per il business. Se l’utente dispone dei diritti di amministratore, un attacco XSS può estendersi al lato server.
Le aziende possono anche soffrire di una perdita di credibilità e fiducia del marchio se un attacco XSS diventa di dominio pubblico. Gli utenti e i clienti sono più propensi a non tornare a un sito se sanno che le loro informazioni potrebbero essere a rischio.
Tipi di attacchi XSS
Attacchi XSS riflessi
Negli attacchi XSS riflessi, gli script dannosi vengono iniettati direttamente in una richiesta HTTP. Lo script viene riflesso dal server in una risposta HTTP e quindi eseguito nel browser di un utente. Questo è il tipo più semplice di attacco XSS.
Attacchi XSS basati su DOM
Gli attacchi basati su DOM (Document-Object Model) non richiedono alcuna interazione con il server. La vulnerabilità è lo script lato browser. Le applicazioni Web leggono lo script dannoso direttamente da una stringa di query. Sono simili in questo modo agli attacchi XSS riflessi.
Attacchi XSS persistenti/memorizzati
Gli attacchi XSS persistenti, noti anche come memorizzati, sono il tipo di attacco più pericoloso perché hanno il potenziale di colpire ogni utente che visita il sito. In questo caso, gli script vengono iniettati in un database attraverso i campi del modulo.
Lo script viene quindi memorizzato a tempo indeterminato nel database del sito web. Ogni utente che poi entra nel sito è vulnerabile ad avere la loro sessione dirottato.
Come prevenire gli attacchi XSS
Ci sono una serie di precauzioni che puoi prendere per prevenire gli attacchi XSS.
Mantieni aggiornato il software
Il software deve essere sempre aggiornato per molte ragioni, tra cui la correzione di bug, il miglioramento delle prestazioni, l’installazione di nuove funzionalità e la patch delle vulnerabilità di sicurezza. L’aggiornamento regolare del software ridurrà notevolmente le vulnerabilità che lasciano un sito o un’applicazione aperta alle vulnerabilità XSS.
Dovresti anche controllare tutte le tue applicazioni per determinare quali sono necessarie e che usi raramente. Sbarazzati di tutte le app che non usi per ridurre ulteriormente il numero di vulnerabilità.
Sanificare e convalidare i campi di input
I campi di input sono il punto di ingresso più comune per gli script di attacco XSS. Pertanto, è sempre necessario schermare e convalidare qualsiasi informazione immessa nei campi dati. Ciò è particolarmente importante se i dati saranno inclusi come output HTML per proteggersi dagli attacchi XSS riflessi.
La convalida dovrebbe avvenire sia sul lato client che sul lato server come precauzione aggiuntiva. la convalida dei dati prima che vengano inviati ai server proteggerà anche dagli script XSS persistenti. Questo può essere realizzato utilizzando Javascript.
Web Application firewall
Un web Application firewall (WAF) può essere un potente strumento per la protezione contro gli attacchi XSS. I WAF possono filtrare bot e altre attività dannose che potrebbero indicare un attacco. Gli attacchi possono quindi essere bloccati prima che venga eseguito qualsiasi script.
Content security policy
Un Content Security policy (CSP) può definire le funzioni che un sito web è autorizzato a svolgere. Possono essere utilizzati per impedire a un sito web di accettare script in linea. Questo può essere il metodo più forte a vostra disposizione in quanto può bloccare completamente gli attacchi XSS o almeno ridurre notevolmente la possibilità di loro.