É possível fazer com que o valor antiforgerior no ASP.NET MVC altere após cada verificação?
-
19-09-2019 - |
Pergunta
Acabamos de fazer alguns testes de penetração em um aplicativo que construímos usando o ASP.NET MVC, e uma das recomendações que voltaram foi que o valor do antiforgergia no formulário poderia ser reenviado várias vezes e não expirou Após um único uso.
De acordo com Recomendações OWASP Em torno do padrão de token do sincronizador:
"Em geral, os desenvolvedores precisam apenas gerar esse token uma vez para a sessão atual".
É assim que eu acho que o ASP.NET MVC AntiforgergeryToken funciona.
Caso tenhamos que travar a batalha, é possível fazer com que o antiforgergia tenha regenerando um novo valor após cada validação?
Solução
O token anti-forgéia é apenas um token anti-xSRF. Em particular, é não um nonce de uso único. Se você precisar de um NONC de uso único para o seu aplicativo, não poderá usar o token anti-forgerna para esse fim. Não há funcionalidade interna para isso.
Outras dicas
Talvez você possa usar o antiforgergeryToken usando Os três parâmetros construtores.
O uso de um sal é sempre recomendado, mas também limitar o token pelo domínio e o caminho tornará seu token mais seguro e por página único.
Se você não tem vulnerabilidades XSS, esse problema não será uma grande bagunça no seu site :) // eu escrevi isso? Certamente eu não li bem o problema.
Felicidades!