Il collegamento menzionato afferma che DOM-XSS è l'XSS di fatto. Questo sta semplicemente affermando che in XSS stai eseguendo script (es. JavaScript) che sono stati inseriti in DOM .
COME vengono consegnati all'utente / carico utile dannoso all'utente?
In alcuni casi ( riflesso XSS ) si tratta di phishing: "Hey check out thiswebsit.com?p=[loadloadXSS] "Quando l'utente phishing visita il sito, lo script viene eseguito nel proprio browser.
In altri casi ( XSS memorizzato ) potresti essere in grado di memorizzare un script, ad esempio, un riquadro di commento che viene visualizzato da ogni altro visitatore del sito: "Ehi questo è un sito eccezionale! [payload XSS]. Ora quando un utente visita il sito e il tuo commento viene reso, lo script dannoso viene eseguito anche in il loro browser.
In entrambi i casi, sebbene tu abbia inserito JavaScript, quel carico utile non è effettivamente visibile come testo per l'utente finale. Lo script è comunque eseguito nel browser dell'utente finale. Il payload dello script può essere una semplice finestra di avviso, potrebbe essere un payload che invia i cookie di autenticazione di sessione a un server che controlli (consentendoti di accedere come loro) o un numero di altre cose .
In che modo l'autore dell'attacco identifica un sito con una possibile vulnerabilità XSS basata su DOM?
Il Burp è già stato menzionato, questo è un ottimo strumento.
Un modo molto di base per iniziare a testare / capire XSS è chiedersi quando si visualizza una pagina "Quali dati controllo e quali dati mi vengono mostrati?". Se riesci a testare questi punti dati per l'iniezione di script, sei sulla buona strada per capire XSS. I punti di dati che sono comunemente vulnerabili agli attacchi XSS di base sono commenti, nomi utente, dettagli del profilo, messaggi di errore e parametri di ricerca.