Ho un'app MVC che sta utilizzando AntiForgeryToken capacità di ASP.NET MVC. AFAICT utilizza una variazione di token del sincronizzatore crittografato in cui convalida il payload dei token.
Un cliente ha messo in dubbio il fatto che questi token non scadono, e se catturato continuerà a essere valido per una determinata sessione dell'utente.
È è possibile personalizzare aggiungi un timestamp al token e convalidalo, scadendo così il token emesso dopo un periodo.
Ciò che mi chiedo però è necessario? I token CSRF dovrebbero fornire protezione contro i replay? Un attacco non richiederebbe MitM o una vulnerabilità XSS?
Mi aspetto che una scadenza piuttosto lunga sia una parte ragionevole di una strategia di difesa approfondita, ma è strano per me che la riproduzione venga sollevata come problema di sicurezza con uno schema di prevenzione CSRF.
Cosa mi manca?