Verifica dell'autenticazione interrotta
Quando le funzioni di autenticazione relative all'applicazione non vengono implementate correttamente, consente agli hacker di compromettere password o ID di sessione o di sfruttare altri difetti di implementazione utilizzando le credenziali di altri utenti.
Cerchiamo di comprendere gli agenti di minaccia, i vettori di attacco, la debolezza della sicurezza, l'impatto tecnico e gli impatti sul business di questo difetto con l'aiuto di un semplice diagramma.
Esempio
An e-commerce application supports URL rewriting, putting session IDs in the URL −
http://example.com/sale/saleitems/jsessionid=2P0OC2JSNDLPSKHCJUN2JV/?item=laptop
Un utente autenticato del sito inoltra l'URL ai propri amici per conoscere le vendite scontate. Invia tramite posta elettronica il collegamento precedente senza sapere che l'utente sta fornendo anche gli ID di sessione. Quando i suoi amici usano il collegamento, usano la sua sessione e la carta di credito.
Mani su
Step 1- Accedi a Webgoat e vai alla sezione "Difetti di gestione delle sessioni". Ignoriamo l'autenticazione falsificando il cookie. Di seguito l'istantanea dello scenario.
Step 2 - Quando accediamo utilizzando le credenziali webgoat / webgoat, troviamo da Burp Suite che l'ID JSESSION è C8F3177CCAFF380441ABF71090748F2E mentre AuthCookie = 65432ubphcfx dopo l'autenticazione riuscita.
Step 3 - Quando accediamo utilizzando l'aspetto / aspetto delle credenziali, troviamo da Burp Suite che l'ID JSESSION è C8F3177CCAFF380441ABF71090748F2E mentre AuthCookie = 65432udfqtb dopo l'autenticazione riuscita.
Step 4- Ora dobbiamo analizzare gli AuthCookie Patterns. La prima metà "65432" è comune per entrambe le autenticazioni. Quindi ora siamo interessati ad analizzare l'ultima parte dei valori di authcookie come - ubphcfx per webgoat user e udfqtb per aspect user rispettivamente.
Step 5- Se diamo uno sguardo approfondito ai valori di AuthCookie, l'ultima parte ha la stessa lunghezza di quella del nome utente. Quindi è evidente che il nome utente viene utilizzato con alcuni metodi di crittografia. Dopo tentativi ed errori / meccanismi di forza bruta, troviamo che dopo aver invertito il nome utente, webgoat; finiamo con taogbew e quindi il carattere dell'alfabeto prima è quello che viene utilizzato come AuthCookie. cioè ubphcfx.
Step 6- Se passiamo questo valore del cookie e vediamo cosa succede. Dopo l'autenticazione come utente webgoat, modificare il valore AuthCookie per deridere l'utente Alice trovando l'AuthCookie per lo stesso eseguendo il passaggio 4 e il passaggio 5.
Meccanismi di prevenzione
Sviluppa un'autenticazione forte e controlli di gestione della sessione in modo tale da soddisfare tutti i requisiti di autenticazione e gestione della sessione definiti nell'Application Security Verification Standard di OWASP.
Gli sviluppatori dovrebbero assicurarsi di evitare i difetti XSS che possono essere utilizzati per rubare gli ID di sessione.