Est-il possible de faire la valeur AntiForgeryToken dans le changement ASP.NET MVC après chaque vérification?

StackOverflow https://stackoverflow.com/questions/2220664

Question

Nous venons juste d'avoir des tests de pénétration effectués sur une application que nous avons construit en utilisant ASP.NET MVC, et l'une des recommandations qui sont revenus était que la valeur de la AntiForgeryToken dans le formulaire peut être soumis à nouveau à plusieurs reprises et n'expirait après une seule utilisation.

Selon le recommandations OWASP autour du modèle de jeton Synchronizer:

"En général, les développeurs ont besoin de générer que ce jeton une fois pour la session en cours."

Quelle est la façon dont je pense que le fonctionnement ASP.NET MVC AntiForgeryToken.

Dans le cas où nous devons combattre la bataille, est-il possible de provoquer la AntiForgeryToken de régénérer une nouvelle valeur après chaque validation?

Était-ce utile?

La solution

Le jeton anti-contrefaçon est juste un jeton anti-XSRF. En particulier, il est pas un nonce à usage unique. Si vous avez besoin d'un nonce à usage unique pour votre application, vous ne pouvez pas utiliser le jeton anti-contrefaçon à cet effet. Il n'y a aucune fonctionnalité intégrée pour cela.

Autres conseils

Peut-être que vous pouvez utiliser le AntiForgeryToken en utilisant les trois paramètres constructeur .

L'utilisation d'un sel est toujours recommandé, mais en limitant le jeton par domaine et le chemin rendra votre jeton plus sûr et par page unique.

Si vous n'avez pas XSS vulnérabilités ce problème ne va pas être un grand désordre dans votre site web:) // Est-ce que j'écris ceci? Certes, je ne l'ai pas bien lu le problème.

Vive!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top