Sto cercando di capire un modo per capire quale linea di uno script JavaScript è responsabile per un'iniezione XSS. Supponiamo di avere un sito Web che richiede il mio nome e in alcune pagine ho impostato il mio nome come <script>alert("XSS")</script>
.
Più tardi, navigo nel sito Web e in qualche modo vedo il mio payload in esecuzione. Guardo la fonte della pagina e vedo che il mio payload non è lì, quindi avrebbe dovuto essere attivato da qualche codice JavaScript. Qual è il modo migliore per trovare quale linea di codice è effettivamente responsabile dell'iniezione? Di solito cerco chiamate innerHTML(...)
, cercando di capire l'ID dell'elemento in cui viene iniettato il mio carico utile, ma non sempre funziona. Ho anche provato a usare <script>debugger;</script>
come payload, ma vedo solo il mio script in fase di debug e non quello responsabile dell'iniezione.
La cosa migliore sarebbe se ci fosse un modo per fermare l'esecuzione dello script responsabile dell'iniezione subito dopo l'attivazione di alert()
, ma non ho trovato alcun modo. Qualche aiuto?