Il token anti-CSRF può impedire l'attacco bruteforce?

8

Non ho molta esperienza con attacchi di forza bruta ma mi stavo chiedendo

Supponiamo che tu abbia un sito web www.example.com e tu voglia fare un attacco di forza bruta su quel modulo di login ma quel modulo di login è protetto dal token anti-CSRF.

È possibile fare la password della forza bruta sul modulo protetto da CSRF perché una chiave univoca creata ogni volta?

su AntiForgeryToken versus Captcha

È scritto che sono possibili presentazioni automatizzate su modulo protetto da CSRF, ma stavo pensando Se ho provato a fare forza bruta di quella che devo creare una richiesta valida.

Ad esempio:

http://example.com/login?usrname=[brute]&password=[brute]&anti_csrf=xydh732-7vdbd

di userò questa richiesta alla forza bruta ma questo token anti-CSRF scadrà dopo una singola richiesta rispetto a come può un attacco brute force nome utente e password?

    
posta Deepanshu Singh 21.09.2014 - 05:05
fonte

4 risposte

17

Semplice. Si legge il token anti-CSRF dalla pagina di accesso appena richiesta e ogni volta che il token è collegato alla risposta del server. In questo caso, prima di inviare una richiesta POST, devi prima leggere la risposta alla tua richiesta GET dal server e il nuovo token sarà collegato ad esso. Quindi lo usi per generare una nuova richiesta POST forza bruta. Potrebbero esserci altri problemi che potresti incontrare, ad esempio la limitazione della frequenza delle richieste e così via, ma il token anti-CSRF non protegge dagli attacchi brute force.

    
risposta data 21.09.2014 - 05:49
fonte
10

Un utente malintenzionato può eseguire un attacco a forza bruta usando Burp Intruso, con estensione di estensione per gestire il token CSRF . L'aggiunta di un captcha alla pagina di accesso non risolve il problema, solleva la barra obbligando l'utente malintenzionato a interrompere il servizio captcha cracking a 1.000 soluzioni per $ 1.

Per rispondere alla tua domanda, né un captcha né un token CSRF è una difesa adeguata. Un sistema di accesso sicuro dovrebbe utilizzare l'autenticazione multi-factor .

    
risposta data 21.09.2014 - 05:51
fonte
2

Gli attacchi CRSF funzionano inducendo un utente (di solito già connesso) a eseguire una richiesta ai server alla fine dell'attaccante (inducendolo a fare clic su un collegamento ipertestuale, tramite un metodo come XSS).

Un token anti-CSRF protegge le richieste sensibili, richiedendo che un valore imprevedibile (fornito all'utente in una pagina precedente) venga inviato come parte delle richieste sensibili. L'attaccante non ha modo di sapere quale sarà questo valore, quindi non può falsificare la richiesta correttamente.

Tuttavia, questo non avrà alcun effetto reale su una pagina di accesso. Nella maggior parte dei casi normali, una pagina di accesso è accessibile a tutti. Anche se la richiesta POST per il modulo di accesso richiede un token CSRF inviato dalla pagina web di accesso, non c'è nulla che impedisca all'utente malintenzionato di visitare ripetutamente la pagina di accesso, ottenendo ogni volta un nuovo, anti-CSRF valido.

    
risposta data 21.09.2014 - 05:47
fonte
0

Ci sono già un sacco di ottime risposte già su CSRF qui, quindi ho pensato di estenderle offrendo un approccio alternativo alla protezione da tali attacchi. Se stai usando Apache, ti consiglio di usare mod_evasive in quanto questo proteggerà dagli attacchi brute force e anche dagli attacchi DOS. Se stai usando IIS puoi usare l'estensione Dynamic IP Restrictions. È possibile configurare le regole in Nginx o utilizzare un'applicazione Web Firewall sarebbe un approccio più sofisticato. Spero che questo aiuti.

    
risposta data 22.09.2014 - 04:08
fonte

Leggi altre domande sui tag