Tengo una aplicación MVC que está usando Capacidad AntiForgeryToken de ASP.NET MVC. AFAICT utiliza una variación de token de sincronizador cifrada donde valida la carga útil de los tokens.
Un cliente ha cuestionado el hecho de que estos tokens no caducan, y si se capturan seguirán siendo válidos para la sesión de un usuario determinado.
Es posible personalizar agregue una marca de tiempo al token y valídelo, de modo que caduque el token emitido después de un período.
Sin embargo, lo que me pregunto, ¿es necesario? ¿Deberían los tokens CSRF proporcionar protección de repetición? ¿Un ataque no requeriría MitM o una vulnerabilidad XSS?
En cierto modo, espero que una expiración prolongada sea una parte razonable de una estrategia de defensa en profundidad, pero para mí es extraño que la repetición se plantee como un problema de seguridad con un esquema de prevención CSRF.
¿Qué me estoy perdiendo?