Che cosa è normale dire solo "nome utente o password errati" in caso di errori di accesso? [duplicare]

1

Quando si accede a un sito con credenziali utente / password errate, l'errore visualizzato è generalmente un generico "nome utente o password errati". Analizzando un codice PHP che gestisce tale accesso, ho trovato una richiesta MYSQL vincolata sia sull'ID utente sia sull'hash della password, rendendo così impossibile determinare quale delle stringhe fosse errata se la richiesta non restituiva nulla.

Esistono alcuni principi di sicurezza che spiegano perché i siti non preferiscono cercare il nome utente e quindi corrispondono alla password, e anche perché non rendono i messaggi di errore più specifici ("Nome utente sconosciuto", "Password errata" )?

    
posta Dunaril 03.11.2013 - 16:43
fonte

2 risposte

4

Perché daresti informazioni all'attaccante.

Se si dice "Il nome utente non è corretto" o "La password non è corretta", l'utente malintenzionato sa che uno è corretto. Quindi, ad esempio, una volta che hanno indovinato un nome utente, ora possono concentrarsi sull'indovinare la password. Piuttosto che 2 incognite, lo hai ridotto a solo 1 sconosciuto.

Inoltre, per un sito in cui il nome utente è la tua email, puoi determinare se le persone hanno un account lì. Se vado in un sito e inserisco il tuo indirizzo e-mail e dice "Il nome utente non è corretto", allora non hai un account. Se dice "La password non è corretta" allora so che hai un account lì. Ora immagina che il sito sia una forma di sito di pornografia e puoi iniziare a capire perché questo potrebbe essere un approccio negativo in termini di ciò che stai rivelando a un utente malintenzionato.

    
risposta data 03.11.2013 - 16:52
fonte
0

Affermando che il nome utente è valido attiva enumerazione utente , consentendo a un utente malintenzionato di creare un elenco di account utente validi. Per i servizi web in cui i nomi utente sono indirizzi email o possono essere associati a indirizzi e-mail, ciò potrebbe portare a una campagna di spear phishing in cui gli obiettivi vengono inviati link dannosi a un sito per cui hanno effettivamente un account. I nomi utente potrebbero anche essere utilizzati per altri servizi come l'email, la condivisione di file o l'accesso alla shell, fornendo ancora più vettori per lo sfruttamento. Oppure, se i nomi degli utenti sono collegati a nomi reali, l'autore dell'attacco potrebbe utilizzare tali informazioni in un attacco di ingegneria sociale.

Ovviamente è preferibile forzare un utente malintenzionato a indovinare nomi utente e password.

    
risposta data 03.11.2013 - 18:34
fonte

Leggi altre domande sui tag