Autenticazione utente interrotta

Autenticazione utente interrotta

Un codice a 6 cifre è solo un segreto mentre le ipotesi sono limitate.

Cos’è Autenticazione utente interrotta?

Un endpoint può controllare correttamente una credenziale e tuttavia non difendere mai il controllo dall'automazione: nessun limite di tentativi, nessun blocco, nessuna limitazione di velocità. Quando la credenziale è un codice a 6 cifre, un utente malintenzionato percorre l'intero spazio una richiesta alla volta. Inizierai un accesso tenendo solo l'e-mail di una destinazione, guarderai una risposta con codice errato 200 senza contare nulla, quindi creerai la strada verso una sessione live. La correzione tiene traccia dei tentativi falliti nello stato lato server, restituisce 429 al limite, utilizza un codice in caso di corrispondenza e mantiene la scadenza a breve.

Cosa imparerai in Autenticazione utente interrotta

Autenticazione utente interrotta — Fasi della formazione

  1. Un codice fa la guardia

    Kelvo è un'app di denaro di consumo e fa accedere le persone con un codice a 6 cifre inviato via email al loro indirizzo, senza password. Inserisci la tua email, Kelvo invia un codice, lo digiti nuovamente e sei dentro. Bob non ha un codice. Ciò che ha, da una mailing list violata, è l'indirizzo email di un cliente: renata.voss@gmail.com. Apre la pagina di accesso di Kelvo per vedere esattamente cosa deve affrontare.

  2. Attiva il codice

    Bob avvia l'accesso per l'account a cui si rivolge. Digita l'e-mail della vittima e chiede a Kelvo di inviare il codice. Il codice arriva nella casella di posta di Renata, non nella sua, ma Kelvo ora gli mostra la schermata che lo richiede. Quello schermo e la richiesta dietro di esso sono ciò che studierà dopo.

  3. Guarda la richiesta

    La schermata di immissione del codice è ora davanti a Bob. Non ha il vero codice di Renata, ma prima di provare a decifrarlo vuole vedere come lo schermo controlla un codice e dove lo invia. Digita un codice sbagliato e lo invia, quindi osserva la richiesta effettuata dal suo browser nel pannello Rete.

  4. Il punto finale, in bella vista

    Il browser di Bob ha inviato il codice all'API di Kelvo e il pannello Rete ha catturato l'intera richiesta. Gli offre l'unica cosa di cui ha bisogno per affrontare questo problema senza lo schermo: l'endpoint esatto che controlla i codici.

  5. La sceneggiatura a forza bruta

    Con il punto finale in mano, Bob non indovina a mano. Apre il breve script che eseguirà: un ciclo che invia ogni codice possibile all'endpoint di verifica di Kelvo finché non ne viene accettato uno.

  6. Come funziona il ciclo

    L'intero attacco è una manciata di righe. Scopri cosa fa ciascuna parte e perché nulla sul server vulnerabile la ferma.

  7. Percorri ogni codice

    Bob esegue lo script sull'endpoint di verifica di Kelvo. Lancia la stessa richiesta più e più volte, incrementando ogni volta il codice e attende che ne venga accettata una.

  8. Un codice che funziona

    Lo script è stato eseguito senza opposizione e ha trovato un codice accettato dal server.

  9. Usa il codice

    Bob prende il codice trovato dallo script e lo invia manualmente all'endpoint ancora una volta, per confermare che l'account è suo e vedere cosa possiede ora.

  10. Una sessione live, da sei cifre

    L'endpoint ha accettato il codice indovinato e ha restituito una sessione reale.

Copertura dei framework di sicurezza

OWASP API Top 10

  • API2:2023 Broken Authentication

CWE

  • CWE-287 Improper Authentication
  • CWE-307 Improper Restriction of Excessive Authentication Attempts

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