Ataque XSS vsibible en html pero sin ejecución

0

Para probar XSS para un sitio web determinado, el nombre de usuario en la configuración de la cuenta es <script type="text/javascript">alert("XSS");</script> . En el código html el código es visible y no se está ejecutando. Cuando se cambia el nombre de usuario, la página no se actualiza, por lo que el cambio de nombre de usuario debe ocurrir con JS. ¿Por qué no se está ejecutando el script?

<div class="jss733 jss30 jss31"> "<script type="text/javascript">alert("XSS"); </script>" <b class="jss45 jss46 jss48"></b> </div>

    
pregunta Nikola Mitrovic 30.08.2018 - 16:06
fuente

2 respuestas

2

Esto sucede porque las herramientas de desarrollo de su navegador falsifican el valor de la etiqueta. Es probable que el contenido se haya escapado correctamente, pero su navegador está tratando de ser útil al mostrarse sin salirse. Observe que la etiqueta en su ejemplo es completamente gris y no la sintaxis resaltada como el resto del HTML.

    
respondido por el Sjoerd 30.08.2018 - 16:12
fuente
1

Hay varias razones que van desde "Este sitio web no es vulnerable a XSS" hasta "Necesitas masajear tu cadena XSS un poco más".

Hacer que las ventanas emergentes de XSS funcionen es un arte. La vista del elemento Inspeccionar no es la mejor manera de verlo porque muestra cómo el navegador ha analizado el HTML, pero el objetivo principal de XSS es engañar al analizador HTML.

En su lugar, ver el Origen de la página y ctrl + f para la cadena alert("XSS") . Primero, como sugiere @Sjoerd, vea si su cadena se está escapando (es decir, ¿ve <script> o &lt;script&gt; ?). Si se está escapando correctamente, entonces no podrá hacer XSS. Si no se está escapando, entonces probablemente hay XSS. Para que funcione, deberás mirar dónde se coloca tu texto dentro de la fuente y cerrar las cadenas y las etiquetas para que tu etiqueta <script> no quede oculta dentro de otra cosa. Es por eso que a menudo ves que las cargas útiles de XSS comienzan con una cotización y una etiqueta cerrada, como "</a><script>... . Esta parte requiere un poco de prueba y error. Buena suerte!

    
respondido por el Mike Ounsworth 30.08.2018 - 16:21
fuente

Lea otras preguntas en las etiquetas