aclaración CORS

1

Necesito algunas aclaraciones sobre los problemas que CORS (Intercambio de recursos entre orígenes) puede causar. Supongamos que el sitio A.COM ha habilitado CORS, en particular:

  • Access-Control-Allow-Origin se puede establecer en cualquier sitio web en la solicitud HTTP y se vuelve a copiar en la respuesta
  • Las credenciales de Access-Control-Allow-Allow se pueden establecer en true

Dado eso, supongamos que en la siguiente ruta A.COM: A.COM/user.php?id=USER_ID está alojada la contraseña del usuario (no es realista, pero sigamos adelante).

El posible escenario de ataque es:

  1. El atacante crea una página alojada en B.COM donde hay una función de Javascript que, cuando se carga la página, envía una solicitud HTTP (con el conjunto de encabezado de origen) a A.COM/user.php?id=USER_ID obtiene el resultado y lo almacena en algún lugar (tal vez con más solicitud http a otra página del atacante)
  2. El atacante debe obligar al usuario a cargar B.COM

Entonces, mi pregunta es: Para acceder a A.COM/user.php?id=USER_ID , un usuario debe estar autenticado y tener un conjunto de cookies, el atacante debe asegurarse de que el usuario atacado tenga una cookie válida para A.COM y también que el atacante deba conocer la estructura web de A.COM. Si el usuario atacado no ha iniciado sesión y no tiene ningún conjunto de cookies, ¿el ataque no funciona?

Gracias por las aclaraciones.

E.

    
pregunta Edge7 31.03.2018 - 20:09
fuente

2 respuestas

1
  

Si el usuario atacado no ha iniciado sesión y no tiene ningún conjunto de cookies, ¿el ataque no funciona?

Eso es correcto.

Los ataques debidos a políticas CORS mal configuradas funcionan exactamente como lo describió. Si el usuario no ha iniciado sesión, no hay nada que un atacante gane.

  

y también el atacante necesita conocer la estructura web de A.COM?

Sí, un atacante necesita saber qué solicitudes pueden obligar a un usuario a enviar. Es posible que sepan esto porque también tienen una cuenta con derechos similares, porque tuvieron acceso temporal a una cuenta o código fuente, porque las respuestas a las solicitudes CORS devuelven otros enlaces, o pueden intentar adivinar las solicitudes.

    
respondido por el tim 31.03.2018 - 21:50
fuente
2

Sí, falsificación de solicitud entre sitios ( enlace ) que mitiga la misma política de origen, funciona mejor en un usuario registrado. CORS afloja esta mitigación para ciertos sitios web de confianza.

    
respondido por el Geir Emblemsvag 31.03.2018 - 21:05
fuente

Lea otras preguntas en las etiquetas