D'après ce que j'ai appris jusqu'à présent, le but des jetons est d'empêcher un attaquant de falsifier une soumission de formulaire.
Par exemple, si un site Web avait un formulaire qui saisissait des articles ajoutés à votre panier, et qu'un attaquant pourrait spammer votre panier avec des articles que vous ne voulez pas.
Cela a du sens car il pourrait y avoir plusieurs entrées valides pour le formulaire de panier, tout ce que l'attaquant aurait à faire est de connaître un article que le site Web vend.
Je comprends comment les jetons fonctionnent et ajoutent de la sécurité dans ce cas, car ils garantissent que l'utilisateur a effectivement rempli et appuyé sur le bouton «Soumettre» du formulaire pour chaque article ajouté au panier.
Cependant, les jetons ajoutent-ils une sécurité à un formulaire de connexion utilisateur, qui nécessite un nom d'utilisateur et un mot de passe?
Étant donné que le nom d'utilisateur et le mot de passe sont très uniques, l'attaquant devrait connaître les deux pour que la falsification de connexion fonctionne (même si vous n'avez pas configuré de jetons), et si un attaquant le savait déjà, il pourrait simplement se connecter au site Web. lui-même. Sans oublier qu'une attaque CSRF qui oblige l'utilisateur à se connecter n'aurait de toute façon aucun but pratique.
Ma compréhension des attaques CSRF et des jetons est-elle correcte? Et sont-ils inutiles pour les formulaires de connexion des utilisateurs comme je le soupçonne?