Estoy tratando de encontrar una manera de entender qué línea de un script de JavaScript es responsable de una inyección XSS. Supongamos que tengo un sitio web que solicita mi nombre y, en alguna página, establezco mi nombre como <script>alert("XSS")</script>
.
Más tarde, navego por el sitio web y de alguna manera veo cómo se ejecuta mi carga útil. Miro la fuente de la página y veo que mi carga útil no está allí, por lo que debería haber sido activada por algún código JavaScript. ¿Cuál es la mejor manera de encontrar qué línea de código es realmente responsable de la inyección? Por lo general busco innerHTML(...)
calls, tratando de averiguar la ID del elemento donde se inyecta mi carga útil, pero no siempre funciona. También intenté usar <script>debugger;</script>
como carga útil, pero solo veo que mi script está siendo depurado, y no el responsable de la inyección.
Lo mejor sería si hubiera una manera de detener la ejecución del script responsable de la inyección justo después de que se activó el alert()
, pero no encontré ninguna forma. ¿Alguna ayuda?