tags: DOM_xss stored_xss reflected_xss
La differenza principale tra DOM-Based e le altre due (Stored e Reflected) è nel modo in cui l’attacco viene elaborato, piuttosto che dove si trova.
-
DOM-Based XSS:
- Viene innescata direttamente sul client, tramite manipolazione del DOM (Document Object Model) dal JavaScript della pagina.
- Si può trovare tramite URL, ma può apparire anche in altre interazioni client-side (come click, input dinamici, o manipolazioni di hash
#nella barra dell’URL). - Caratteristica chiave: Il payload non viene elaborato dal server ma solo dal browser, sfruttando le operazioni JavaScript che modificano il DOM.
-
Stored XSS:
- L’attacco viene memorizzato nel database del server e poi caricato e visualizzato per tutti gli utenti.
- Di solito si verifica quando un utente inserisce un payload in un form (come commenti o profili utente) che il server memorizza e restituisce ad altri.
- Caratteristica chiave: Persiste sul server e colpisce più utenti.
-
Reflected XSS:
- Il payload viene riflesso dal server al client nella stessa richiesta, solitamente tramite input come campi di ricerca o parametri URL.
- Non è memorizzato sul server, quindi non persiste come la Stored XSS e si attiva solo in una singola interazione.
- Caratteristica chiave: La risposta riflette immediatamente l’input dell’utente senza memorizzarlo
Per vedere come sfruttare queste vulnerabilità vai alla pagina Payloads Standard