Enumerazione degli utenti

Enumerazione degli utenti

Due diversi errori indicano a un utente malintenzionato quali e-mail sono reali.

Cos’è Enumerazione degli utenti?

L'enumerazione degli utenti è la tua applicazione che conferma quali indirizzi hanno account. È necessaria una differenza osservabile: una stringa di errore diversa, un codice di stato diverso, una risposta più lenta. Invierai due sondaggi di accesso e otterrai 'Nessun account trovato' contro 'Password errata', più un intervallo di latenza, perché bcrypt viene eseguito solo quando c'è un hash con cui confrontare. La correzione restituisce un errore generico ed esegue sempre il confronto con un hash fittizio fisso quando non esiste alcun utente. La registrazione e la reimpostazione della password danno la stessa risposta.

Cosa imparerai in Enumerazione degli utenti

Enumerazione degli utenti — Fasi della formazione

  1. Un elenco che necessita di un filtro

    Bob conserva un dump di coppie di email e password derivanti da una violazione non correlata. La maggior parte di queste persone non ha mai sentito parlare di Larksong, quindi spruzzare l'intero elenco nella pagina di accesso sarebbe lento e rumoroso. Per prima cosa vuole sapere quali di quelle e-mail sono effettivamente account Larksong. Apre la pagina di accesso di Larksong nel suo browser, con DevTools pronto, per vedere come risponde a un accesso non riuscito.

  2. Prova con un'e-mail non registrata

    Bob inizia con una linea di base. Accede con un indirizzo che quasi certamente non ha un account Larksong e una password usa e getta, e guarda la risposta arrivare nel pannello Rete.

  3. La risposta di base

    Il modulo mostra un errore di accesso e il dettaglio reale è nel pannello Rete: un 401 con un corpo della risposta e un tempo di risposta. Ecco come appare un accesso non riuscito a un'e-mail non registrata. Bob lo prende come riferimento.

  4. Prova un'e-mail che pensa sia reale

    Ora Bob riprova con un indirizzo dalla sua discarica che crede appartenga a un vero ascoltatore, marcus.delgado@gmail.com, ancora con una password usa e getta. Se l'endpoint tratta i due casi allo stesso modo, la risposta corrisponderà alla linea di base. In caso contrario, la differenza è l'intero premio.

  5. Una risposta diversa

    La risposta è cambiata. Stessa password errata, ma il corpo della risposta è diverso. Bob non ha mai effettuato l'accesso, ma l'endpoint di accesso gli ha appena comunicato che questa email è un vero account Larksong.

  6. Controlla i tempi di risposta

    La formulazione è una cosa da dire. Il pannello Rete ne contiene un secondo, più silenzioso: quanto tempo ha impiegato ciascuna richiesta.

  7. Verifica della conoscenza

    Prima che Bob aumenti la scala, sii preciso sul motivo per cui il conto reale era molto più lento.

  8. Raccogli la lista

    Bob punta uno script sull'endpoint di accesso e gli invia ogni email dal suo dump, una richiesta ciascuno. Ogni volta che la risposta è lenta Password errata , quell'indirizzo va nella sua lista confermata. Su 50.000 candidati, 8.400 sono veri account Larksong. Ora la corsa al riempimento delle credenziali che segue solo gli indirizzi di obiettivi che conosce esistono, quindi rimane piccola, silenziosa e ben al di sotto dei limiti di velocità che segnalerebbero uno spray cieco.

  9. L'allarme sicurezza

    Possiedi il servizio di accesso di Larksong. Durante la notte, il rilevamento ha segnalato uno schema strano rispetto all'endpoint di accesso e ti ha inviato via email il risultato. Leggi cosa ha catturato, quindi apri il codice.

  10. Apri il gestore di accesso

    Il percorso di accesso risiede nel servizio di autenticazione. Apri il gestore e osserva come decide cosa restituire quando un accesso non riesce.

Copertura dei framework di sicurezza

OWASP Top 10

  • A07:2025 Authentication Failures
  • A07:2021 Identification and Authentication Failures

CWE

  • CWE-204 Observable Response Discrepancy
  • CWE-208 Observable Timing Discrepancy

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security