XSS riflesso
L'intero attacco si inserisce in un collegamento che ti è stato inviato.
Cos’è XSS riflesso?
Lo scripting cross-site riflesso si nasconde nell'URL. Niente è installato sul server: un collegamento creato esegue lo script dell'aggressore sulla tua origine, all'interno della sessione di accesso della vittima. Sostituirai il termine di ricerca di un negozio con un payload onerror img e guarderai l'intestazione dei risultati eseguirlo. Quindi apri il gestore di ricerca, trovi la query concatenata nell'HTML di risposta, ne esegui l'escape al limite del rendering e riproduci lo stesso payload come testo inerte. Una blocklist a caccia di tag script non vede mai questo.
Cosa imparerai in XSS riflesso
- Distinguere l'XSS riflesso dall'XSS memorizzato: l'URL è il canale di consegna e ogni vittima deve aprire il collegamento creato dall'aggressore
- Individua il punto di riflessione in una pipeline di risposta da URL a HTML leggendo il codice del gestore
- Applicare l'escape HTML al limite del rendering come difesa primaria, non blocklist WAF o sanificazione dell'input
- Comprendere perché un payload img onerror viene eseguito anche senza un tag script e perché le blocklist che prendono di mira i tag script falliscono
- Riconoscere che la spedizione della correzione neutralizza l'esecuzione, non la consegna: il collegamento di phishing esiste ancora
XSS riflesso — Fasi della formazione
-
Trova la ricerca del negozio
Oggi Bob si rivolge a Vellora , un mercato online con un'ampia base di clienti registrati. Apre la ricerca del negozio pubblico per vedere come si comporta. Una casella di ricerca che ripropone la tua query nella pagina è la prima cosa che un utente malintenzionato esamina.
-
Esegui una ricerca normale
Innanzitutto, guarda come si comporta la funzionalità per un vero acquirente. Esegui una normale ricerca di prodotti. Il negozio restituisce gli articoli corrispondenti e il termine digitato da Bob viene ripetuto all'interno dell'intestazione dei risultati.
-
La query si riflette
Il termine esatto cercato da Bob ritorna direttamente nell'intestazione dei risultati e la barra degli indirizzi ora lo riporta come parametro q . Questa riflessione è pericolosa solo se la pagina non riesce a sfuggire al valore uscendo. L'unico modo per saperlo è fornirgli un carattere che il browser considera come markup.
-
Prova se sfugge
Bob analizza il riflesso con un test classico: un tag immagine con una sorgente non funzionante e un gestore onerror che fa apparire un alert(1) innocuo. Se la pagina sfugge alla query, questa verrà visualizzata come testo semplice nell'intestazione. In caso contrario, il browser crea un vero e proprio tag e l'avviso viene attivato.
-
È sfruttabile
L'allarme è scattato. La pagina non sfugge alla query, quindi esegue qualunque markup trasportato dall'URL. Quell'innocuo alert(1) era solo la conferma. Un carico utile reale non apre una finestra di dialogo, funziona silenziosamente e ruba il cookie di sessione del visitatore.
-
Armarsi e phishing
Bob scambia l'avviso con un ladro di cookie che indirizza la sessione al suo server, lo racchiude in un collegamento di ricerca Vellora in modo che venga eseguito sul dominio del negozio attendibile e lo nasconde dietro una ricompensa amichevole. Poi lo spedisce a un vero dipendente a cui vale la pena rubare la sessione: Alice. Le persone si fidano dei collegamenti al negozio della propria azienda.
-
Una ricompensa, dal nulla
Un'e-mail di ricompensa arriva nella tua casella di posta. Sembra che provenga da Vellora e il pulsante indica il negozio che usi ogni giorno. Niente di evidentemente sbagliato.
-
Richiedi la ricompensa
Il collegamento apre il negozio di Vellora, quindi ci si sente al sicuro. Fai clic per richiedere il premio.
-
Cosa veniva effettivamente eseguito dal collegamento
La pagina è solo la ricerca di Vellora, che mostra un'immagine rotta dove dovrebbe essere l'intestazione dei risultati. Ma il parametro q del collegamento conteneva uno script. È stato eseguito nell'istante in cui è stata visualizzata la pagina, ha letto il cookie di sessione e lo ha segnalato all'aggressore. Non c'era nessun popup. L'immagine rotta è l'unica traccia.
-
La tua sessione è stata compromessa
Pochi minuti dopo, le operazioni di sicurezza lo segnalano. Il collegamento che hai aperto ha messo la tua vetrina contro di te e ora qualcun altro sta tenendo la tua sessione. La pagina compromessa è ancora aperta accanto all'avviso. Possiedi questo codice. Leggi l'avviso, quindi correggi la causa principale.
Copertura dei framework di sicurezza
OWASP Top 10
- A05:2025 Injection
- A03:2021 Injection
CWE
- CWE-79 Improper Neutralization of Input During Web Page Generation
CIS Controls
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.PS Platform Security