Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 7822|Répondre: 1

Prévenir les attaques CSRF sur la propriété SameSite du cookie

[Copié le lien]
Publié le 17-04-2022 à 20:24:47 | | | |
Propriété SameSite

À partir de Chrome 51, un nouvel attribut SameSite a été ajouté aux cookies du navigateur pour prévenir les attaques CSRF et le suivi des utilisateurs (acquisition malveillante de cookies par un tiers), et pour limiter les cookies tiers, réduisant ainsi les risques de sécurité.

SameSite défini dans la RFC6265bis :La connexion hyperlientérée est visible.

À propos du résumé de l’attaque CSRF :

ASP.NET Attaque CSRF Encapsulation de requêtes Ajax
https://www.itsvse.com/thread-8077-1-1.html

MVC ajax avec AntiForgeryToken pour prévenir les attaques CSRF
https://www.itsvse.com/thread-4207-1-1.html

Analyser le protocole QQ Quick Login et implémenter « CSRF »
https://www.itsvse.com/thread-3571-1-1.html
La propriété SameSite peut être définie à trois valeurs :Strict、Lax、None

Strict: Interdire strictement aux tiers d’obtenir des cookies, et ne pas envoyer de cookies en aucune circonstance lorsqu’ils sont inter-sites ; Les cookies ne seront inclus que si l’URL de la page actuelle correspond à la cible de la requête. Cette règle est trop stricte et peut entraîner une très mauvaise expérience utilisateur. Par exemple, s’il y a un lien GitHub sur la page web actuelle, les utilisateurs n’auront pas de cookies GitHub lorsqu’ils cliqueront sur le saut, et le saut a toujours été déconnecté.

Laxiste: Empêcher le cross-site, il est dans la plupart des cas interdit d’obtenir des cookies, sauf pour les requêtes GET (liens, précharges, formulaires GET) qui naviguent vers l’URL de destination ; Une fois Strict ou Lax activé, les attaques CSRF sont pratiquement éliminées. Bien sûr, cela est à condition que le navigateur utilisateur prenne en charge la propriété SameSite.

Attribut SameSitePar défaut SameSite=Lax[Cette opération s’applique aux versions après que Google a publié la version stable Chrome 80 le 4 février 2019]



Aucun: Il n’y a pas de limite.

L’attribut Secure doit également être défini (les cookies ne peuvent être envoyés que via le protocole HTTPS), sinon il ne sera pas valide. [Cette opération s’applique aux versions après que Google a publié la version stable Chrome 80 le 4 février 2019]


Tester la propriété SameSite

Nous chargeons dynamiquement une image du site A via la console F12 au site A, le code est le suivant :

Nous pouvons voir d’après la requête réseau que lorsque le site A demande une image du nom de domaine du site A, ilEmportez des cookies(SameSite n’a pas de paramètres, c’est-à-dire Lax), comme montré sur l’image ci-dessous :



Nous trouvons aléatoirement un site B, puis chargeons dynamiquement l’image du site A et le trouvonsPas de porteN’importe quel cookie, comme montré ci-dessous :



(Fin)





Précédent:jQuery hide ne fonctionne pas deux solutions
Prochain:La visibilité cachée de l’élément angulaire ngif est affichée et cachée
Publié le 17-04-2022 à 21:20:07 |
Apprends à apprendre...
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com