Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 7822|Respuesta: 1

Prevenir ataques CSRF a la propiedad SameSite de la cookie

[Copiar enlace]
Publicado el 17-4-2022 20:24:47 | | | |
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:

ASP.NET Ataque CSRF Encapsulación de peticiones Ajax
https://www.itsvse.com/thread-8077-1-1.html

MVC ajax con AntiForgeryToken para prevenir ataques CSRF
https://www.itsvse.com/thread-4207-1-1.html

Analizar el protocolo QQ Quick Login e implementar "CSRF"
https://www.itsvse.com/thread-3571-1-1.html
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)





Anterior:jQuery hide no funciona en dos soluciones
Próximo:Se muestra y oculta la visibilidad oculta de elementos angulares ngif
Publicado el 17-4-2022 21:20:07 |
Aprende a aprender...
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com