Questo attacco MitM contro 2FA non ha importanza (principalmente). Se un utente malintenzionato ha la capacità di intercettare le comunicazioni in chiaro tra il client e il server, può semplicemente rubare il cookie di sessione quando viene rinviato. L'unico posto che fa la differenza è se è richiesto un codice 2FA quando si modifica la password o si disabilita 2FA, nel qual caso l'utente malintenzionato potrebbe rieseguire il codice per assumere il controllo dell'account. Anche se la riproduzione viene impedita, il possesso del cookie di sessione e della password consentirebbe a un utente malintenzionato di accedere a qualsiasi cosa che non richieda un codice 2FA aggiuntivo.
Per impedire il riutilizzo di un codice 2FA intercettato con altri mezzi (ad esempio intercettando sms / email), il server dovrebbe consentire l'uso di un codice solo una volta. Questo può essere fatto memorizzando un codice e inviandolo, quindi cancellando il codice una volta utilizzato.
Per TOTP, la prevenzione della riproduzione può essere eseguita memorizzando l'ultima finestra di autorizzazione riuscita e impedendo il riutilizzo del codice da quella finestra (o dalle finestre precedenti). La RFC richiede semplicemente un utilizzo singolo senza specificare alcuna implementazione particolare:
The verifier MUST NOT accept the second attempt of the OTP after the successful validation has been issued for the first OTP, which ensures one-time only use of an OTP.
HOTP e U2F impediscono la riproduzione in base alla progettazione, HOTP mediante l'uso di un contatore e U2F grazie all'utilizzo di un metodo di risposta alla sfida.