XSS de salidas JSON

2

En el libro "Ataques XSS - Explotaciones y defensa" Jeremiah Grossman escribe:

  

La vulnerabilidad encontrada en el lector de Google se debió a que los desarrolladores pensaron que JSON solo iba a ser visto por el script de llamada. Los desarrolladores nunca se dieron cuenta de que los atacantes podían enviar usuarios directamente a la salida JSON. Si bien AJAX y JSON generalmente no introducen nuevos orificios per se, definitivamente pueden aumentar el área de superficie del atacante.

Creo que no hay forma de que el atacante obligue al navegador de la víctima a ejecutar javascript desde JSON directamente. ¿Hay algún ejemplo que muestre el propósito de los autores?

    
pregunta ᔕIᑎᗩ KᗩᖇᐯᗩᑎᗪI 30.01.2017 - 19:25
fuente

1 respuesta

1

Por área de superficie, Grossman se refiere al principio de que la probabilidad de un ataque exitoso aumenta a medida que se identifica más de los límites de seguridad de un sistema. 1

En la pregunta, la penetración en la superficie para que un atacante ejecute JavaScript desde JSON (puede ser que el navegador acceda a http: //blog.watchfire.com/wfblog/2011/10/json-based-xss-exploitation.html a través de un GET o POST (RESTful) asíncrono) puede requerir dos puntos de infracción.

  • La capacidad de inyectar JavaScript en la secuencia RESTful JSON
  • La capacidad de transferir la ejecución a uno de los objetos instanciados durante el análisis

Dependiendo de las condiciones previas al ataque 2 , es posible que uno o ambos de esos mecanismos ya estén en su lugar, por lo que no es necesario que exista esa infracción en particular. 3

La respuesta directa a la pregunta es que los diversos ataques XSS documentados se pueden usar para lograr cualquiera o ambas infracciones. Los que podrían usarse dependerán de los detalles de la superficie que mencione Grossman.

Hay un ejemplo en el comentario de @ rápli-andrás, y aquí es una buena descripción general con más ejemplos de código.

[1] Una vez que se produce una violación, si no hay más superficie de seguridad, el ataque se completa. De lo contrario, es parcial, lo que aún puede facilitar los objetivos del atacante.

[2] Las condiciones incluyen el diseño del sistema y su estado de ejecución actual en el navegador y el servidor.

[3] Esto puede haber contribuido a la vulnerabilidad con Google Reader.

    
respondido por el FauChristian 31.01.2017 - 21:43
fuente

Lea otras preguntas en las etiquetas