¿Esta vulnerabilidad XSS reflejada representa una amenaza real?

1

Tengo un sitio web donde los usuarios pueden ingresar algo de texto en un cuadro de texto y ese texto se procesa inmediatamente en un div usando javascript (estrictamente en la parte frontal). Si un usuario finaliza algo como esto:

This is my text<script>alert('test');</script>

Mostrará ese contenido en el div y mostrará la alerta. Cuando el usuario guarda el registro, todo está codificado en HTML cuando llega al servidor y luego se guarda en la base de datos, por lo que no existe una vulnerabilidad XSS almacenada.

Mi pregunta es si el hecho de representar el contenido del cuadro de texto en el lado del cliente podría representar algún tipo de amenaza. Si es así, ¿qué podría hacer un usuario malicioso?

    
pregunta Abe Miessler 11.04.2014 - 01:12
fuente

3 respuestas

2
  

Mostrará ese contenido en el div y mostrará la alerta.   Mi pregunta es si el hecho de representar el contenido del cuadro de texto en el lado del cliente podría representar algún tipo de amenaza. Si es así, ¿qué podría hacer un usuario malicioso?

Si este es el caso, lo arreglaría (defensa en profundidad), pero como AviD señaló sin ver el sitio completo y su contexto, es difícil hacer más comentarios.

  

Cuando el usuario guarda el registro, todo está codificado en HTML cuando llega al servidor y luego se guarda en la base de datos, por lo que no existe una vulnerabilidad XSS almacenada.

Como parte aparte, solo debe codificar los datos cuando se imprimen, a menos que esté almacenando texto enriquecido que el usuario tiene control (en este caso se deben seguir otros pasos ), debe almacenar el texto en formato sin formato y luego codificar cuando se imprima. Esto se debe a que la codificación requerida difiere entre HTML, JavaScript, XML, etc., el contexto en el que se imprime es muy importante.

    
respondido por el SilverlightFox 11.04.2014 - 12:29
fuente
0

Es XSS basado en DOM, por lo que es una amenaza para la seguridad. Incluso es auto-XSS, se puede usar en ataques de ingeniería social, por lo que debe solucionarlo.

También puede usar cookies de solo http y algunos encabezados http adicionales para protección

    
respondido por el VD_nsk 11.04.2014 - 04:02
fuente
0

Un atacante podría usar la ingeniería social para engañar al usuario para que ingrese javascript fuertemente ofuscado en esa casilla. El atacante podría afirmar que al ingresar ese código ocurrirá algo realmente divertido o asombroso, pero lo que realmente sucede es que compromete sus credenciales de inicio de sesión.

    
respondido por el Philipp 11.04.2014 - 13:07
fuente

Lea otras preguntas en las etiquetas