¿Es este un signo de un ataque XSS exitoso?

1

Sólo estoy probando un ataque de inyección XSS básico. Dadas las imágenes a continuación, ¿parece que este sitio web es vulnerable a XSS?

¿La lista blanca de personajes sigue siendo la mejor práctica contra los ataques XSS?

    
pregunta Doran L 29.03.2017 - 10:43
fuente

2 respuestas

2

En sus capturas de pantalla, esta página no parece ser vulnerable a XSS.

La forma correcta de evitar XSS es mediante codificación de salida . Si un usuario escribe <script> y la página coloca <script> en la fuente HTML, es vulnerable a XSS. Si en cambio codifica esa entrada del usuario y coloca &lt;script&gt; en la fuente HTML, no se interpreta como HTML sino como el texto <script> .

Parece que su sitio realiza esta codificación dos veces en lugar de una, y esto hace que se muestre el código HTML codificado en los campos de texto.

    
respondido por el Sjoerd 29.03.2017 - 11:14
fuente
0

El ejemplo dentro de la pregunta parece mostrar que están impidiendo que las etiquetas se usen al apuntarlas. P.ej. <script> se convierte en &lt;script&gt; . Sin embargo, si UTF lo codifica y luego SQL lo codifica en otra cosa, no es técnicamente seguro. Por lo tanto, se puede usar un tipo diferente de método de inyección, que es un inyección SQL y se puede explotar con valores hexadecimales, como se muestra a continuación:

Primero, elige algo para codificar:

Estosecodificaráparaformaresto:

Luegopuedesllevaracaboelataque:

AquíhayunejemplodeestodeOWASP,cuandosepruebaunaposibleinyección:

Selectuserfromuserswherename=unhex('726F6F74')

Aquísemuestra'raíz'comoelvalorhexadecimal726F6F74

Sources:

HTML.Encode(): enlace

Inyección SQL: enlace

Ejemplo 1 de OWASP: enlace

Evasión de OWASP: enlace

Puede encontrar otro ejemplo aquí: enlace

    
respondido por el Danny_P 05.11.2018 - 00:54
fuente

Lea otras preguntas en las etiquetas