¿Cómo ejecutar un ataque XSS contra un sitio que usa protección del lado del cliente?

1

Supongamos que tengo un sitio que me permite guardar mi nombre en la base de datos, y ese nombre se muestra a otros usuarios.

He determinado que si guardo lo siguiente como mi nombre:

Abe <script>alert(1);</script> Miessler

Otra página en el sitio tomará los siguientes pasos, todos en el lado del cliente:

  1. Haga una solicitud AJAX para obtener una lista de nombres de usuarios
  2. Devuelva esos valores no codificados (por lo tanto, <scrip.... se devuelve no &gt;scrip..... )
  3. La página, a continuación, HTML codifica los valores que se devolvieron y los representa en la página

Sé que no se debe contar con nada en el lado del cliente para la seguridad, pero no puedo pensar en un escenario en el que un ataque pueda atravesar aquí. ¿Se puede hacer?

    
pregunta Abe Miessler 23.10.2014 - 07:32
fuente

1 respuesta

6
  

Sé que no se debe contar con nada en el lado del cliente para la seguridad

Este mensaje se ha vuelto un poco confuso. Realmente, debe ser que la medida de seguridad se debe hacer en el mismo lado de un límite de seguridad que el sistema que está protegiendo. Para el caso común de una aplicación web basada en formularios que hace que el lado del servidor sea el lugar donde podría ocurrir el ataque, y el lado del servidor el lugar donde se debe hacer la defensa.

Pero en su caso, la posible vulnerabilidad, DOM-XSS, ocurre en el navegador del cliente, por lo que poner la defensa en su contra (el HTML apropiado se escapa y / o usa métodos DOM en lugar del marcado para escribir el contenido) en el cliente también es correcto.

    
respondido por el bobince 23.10.2014 - 11:37
fuente

Lea otras preguntas en las etiquetas