Non penso che sia una vulnerabilità. Quando ci pensi come una password inviata in chiaro, allora sì è comprensibile pensare che ci sia una vulnerabilità qui, ma non è una password.
Inviando un link come https://example.com/reset.php?code=97fy978y39fny39478fyn3
, che è un collegamento singolo che fai clic per accedere a un modulo di reimpostazione della password in cui digiti la nuova password, è essenzialmente come se inviassi una sola password, hanno appena preso il code
dal link e lo hanno chiamato una password temporanea.
L'idea in sé non è vulnerabile, ma l'implementazione scorretta è per lo più.
Che cosa potrebbe andare storto qui?
-
Il code
o la password potrebbero essere molto brevi e / o non generati con un PRNG crittograficamente protetto .
-
Il code
o la password potrebbero consentire l'accesso alle aree dell'account per un lungo periodo di tempo prima di impostare una nuova password.
-
Il code
o la password potrebbero rimanere validi per un lungo periodo, rendendo la loro eventuale esposizione un rischio.
-
Non si utilizza HTTPS, che offre a MitM la possibilità di intercettarli.
Aggiornamento: Hai ragione, l'e-mail è al di fuori dello scopo dell'implementazione, ma poi andremmo completamente fuori argomento. possiamo discutere che l'intero sistema è rotto , ma non c'è altra opzione. potrebbe inviarti il codice in un SMS, ma cosa succede se il tuo amico ha in mano il tuo cellulare? Potrebbero inviarlo alla tua casella di posta (una specie di sciocco) ma se qualcuno aprisse la tua casella di posta? L'unica opzione sicura è che inviano un rappresentante dell'azienda per andare al tuo indirizzo e chiederti il tuo ID e prendere le impronte digitali (che hai indicato nel modulo di registrazione) e quindi ripristinare la tua password.
Come vedi, l'email è di fatto un modo per contattare il proprietario dell'account originale, quindi è il meglio che possono fare.
Tutto sommato, stavo solo cercando di mostrarti che la sicurezza della password monouso in chiaro è esattamente la stessa del collegamento monouso utilizzato da quasi tutti i servizi web (Facebook, Twitter, StackExchange, ... )