Nous venons d'effectuer des tests de pénétration sur une application que nous avons créée à l'aide d'ASP.NET MVC, et l'une des recommandations qui a été faite était que la valeur de AntiForgeryToken dans le formulaire pouvait être soumise de nouveau plusieurs fois. n'expire pas après un usage unique.Est-il possible de modifier la valeur AntiForgeryToken dans ASP.NET MVC après chaque vérification?
Selon le OWASP recommendations autour du modèle de jeton Synchronizer:
« En général, les développeurs ont besoin ne génèrent que ce jeton une fois pour la session en cours. »
C'est ainsi que je pense que le ASP.NET MVC AntiForgeryToken fonctionne.
Dans le cas où nous devons livrer bataille, est-il possible de faire en sorte que AntiForgeryToken régénère une nouvelle valeur après chaque validation?
Je ne suis pas sûr que vous le vouliez, d'autant plus que de nombreux sites ont besoin de faire plusieurs appels AJAX à partir d'une seule page. Le modèle de jeton Synchronizer signifie que vous ne vérifiez pas seulement un jeton propre à l'utilisateur pour sa session (ce que fait AntiForgeryToken), mais que vous vérifiez également un jeton spécifique à la page que vous attendez de la requête. viens de. 'ViewState' n'a fait que cela dans les pages WebForms mais c'est plus compliqué dans MVC. – Keith