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:
- 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) - 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.