Hace unos años, encontré un sitio web durante un pentest que tenía el encabezado Access-Control-Allow-Origin configurado en " * ". Hice un POC para obtener la respuesta de una página web de un dominio no confiable. El objetivo era obtener el token CSRF de la página web, que se mostraba para los usuarios registrados. Por lo tanto, la solicitud HTTP realizada por el POC realmente envió las cookies del usuario.
El escenario era como este:
- El usuario ha iniciado sesión en a.com
- El usuario carga POC desde attack.com
- El POC envía una solicitud HTTP con las cookies del usuario a a.com
- El POC recupera el token CSRF y realiza acciones en a.com
Estoy bastante seguro de que el POC envió las cookies del usuario, que no usé el atributo withCredentials y que el encabezado Access-Control-Allow-Credentials no estaba presente en el sitio web de destino. Usé Firefox en este momento.
Hoy en día, el encabezado Access-Control-Allow-Credentials: true es necesario para que la respuesta esté disponible más el Access-Control-Allow-Origin el encabezado no debe establecerse en * si se envían cookies.
Entonces, mi pregunta es, ¿desde cuándo se agregó esta restricción?