¿Existe una protección sólida contra CSRF ejecutada desde el servidor de Sames a través de un XSS almacenado?

2

Si tenemos un dominio con vulnerabilidad de XSS almacenado. ¡Sé que ya es crítico! .. Pero, estoy hablando de limitar el daño.

El pirata informático no puede obtener la cookie de sesión del administrador, porque está marcada como httponly y el servidor no permite el método TRACE.

Sin embargo, el atacante puede usar CSRF para forzar al administrador a crear un usuario en la aplicación.

La mayoría de los controles CSRF harán que sea difícil para el hacker, pero no imposible;

  • el token del sincronizador y el estado de visualización se pueden robar fácilmente con solicitudes ajax, ya que se envían desde el mismo dominio.
  • La validación de referencia y origen tampoco es aplicable.
  • cualquier otra solicitud de varios pasos podría simularse con ajax.
  • Los envíos dobles también son vulnerables, ya que el navegador envía las cookies de forma predeterminada.
  • Los CAPTCHA son difíciles, pero en teoría pueden romperse utilizando turcos mecánicos.

El único control que parece funcionar es solicitar las credenciales del administrador cada vez que se realiza una solicitud confidencial. Pero, ¿crear un usuario es una solicitud sensible? ¿O cambiar la contraseña de alguien? Puede ser que sea una tarea diaria ..

¿Alguna información sobre este tema? ¿Podemos prevenir contra CSRF a través de XSS almacenado?

    
pregunta Khalid 12.01.2015 - 11:59
fuente

1 respuesta

2

Debido a la Política del mismo origen (SoP), CSRF y XSS tienen una especie de relación piedra-papel-tijera. Todos los métodos de prevención CSRF dependen del SoP y XSS en un bypass fundamental del SoP . En el caso de XSS reflejado, necesita una "solicitud entre sitios" para entregar la carga útil de JavaScript, por lo que en este caso un token CSRF puede hacer que XSS reflectante no se pueda explotar.

Con XSS puede leer cualquier página con un XHR, que puede usarse para obtener tokens de sincronización CSRF. Los captchas tampoco son seguros, ya que se pueden resolver de forma remota utilizando XSS ( un túnel de carne de res hará el truco ). Con XSS, también puede obtener contraseñas con phishing o engañar al usuario para que autorice acciones en nombre del atacante.

Permítanme ser claro, No existe ningún método de prevención de CSRF que pueda proteger contra una derivación de SoP. Una vulnerabilidad persistente de XSS es una de las mejores derivaciones de SoP disponibles para el atacante moderno.

    
respondido por el rook 12.01.2015 - 17:20
fuente

Lea otras preguntas en las etiquetas