Propiedad SameSite
A partir de Chrome 51, se ha añadido un nuevo atributo SameSite a las cookies del navegador para prevenir ataques CSRF y el seguimiento de usuarios (adquisición maliciosa de cookies por terceros), y para limitar las cookies de terceros, reduciendo así los riesgos de seguridad.
SameSite definido en la RFC6265bis:El inicio de sesión del hipervínculo es visible.
Sobre el resumen del ataque CSRF:
La propiedad SameSite puede establecerse en tres valores:Strict、Lax、None。
Estricto: Prohíbe estrictamente que terceros obtengan cookies y no envíen cookies bajo ninguna circunstancia cuando se realiza entre sitios; Las cookies solo se incluirán si la URL de la página actual coincide con el objetivo de la solicitud. Esta norma es demasiado estricta y puede causar una experiencia de usuario muy mala. Por ejemplo, si hay un enlace de GitHub en la página web actual, los usuarios no tendrán cookies de GitHub al hacer clic en el salto, y el salto siempre ha estado desconectado.
Laxo: Evitar el cross-site, en la mayoría de los casos está prohibido obtener cookies, excepto para las solicitudes GET (enlaces, precargas, formularios GET) que navegan a la URL de destino; Una vez que se establece Estricto o Lajo, los ataques CSRF básicamente se eliminan. Por supuesto, esto se da siempre que el navegador de usuario soporte la propiedad SameSite.
Atributo SameSitePor defecto SameSite=Lax[Esta operación se aplica a las versiones posteriores a que Google publique la versión estable de Chrome 80 el 4 de febrero de 2019]
Ninguno: No hay límite.
El atributo Secure también debe estar configurado (las cookies solo pueden enviarse a través del protocolo HTTPS), de lo contrario no será válido. [Esta operación se aplica a las versiones posteriores a que Google publique la versión estable de Chrome 80 el 4 de febrero de 2019]
Prueba la propiedad SameSite
Cargamos dinámicamente una imagen del sitio A a través de la consola F12 en el sitio A, el código es el siguiente:
Podemos ver por la solicitud de red que cuando el sitio A solicita una imagen del nombre de dominio del sitio A, se veráLleva galletas(SameSite no tiene ajustes, es decir, Lax), como se muestra en la imagen de abajo:
Encontramos aleatoriamente un sitio B, y luego cargamos dinámicamente la imagen del sitio A y lo encontramosNo llevoCualquier galleta, como se muestra a continuación:
(Fin)
|