Bypass modulo CAPTCHA realizzato con JavaScript al 100%?

2

C'è un sito web che ho trovato dove JavaScript gestisce la risposta del CAPTCHA e poi continua a sparare quella che credo sia una richiesta AJAX.

Quindi il flusso è il seguente:

Button -> CAPTCHA-> AJAX

Cosa mi impedisce di dire che licenzierò la richiesta AJAX? È tutto il lato client. Vale la pena provare a scavare attraverso tutto il codice per trovare quella richiesta? Quali sono alcune misure che possono essere utilizzate all'interno di JavaScript in generale per prevenire un caso del genere?

    
posta makakas 28.05.2016 - 01:45
fonte

2 risposte

5

Se è un CAPTCHA sicuro, il messaggio AJAX invierà l'input dell'utente a un server. Il server convaliderà l'input e restituirà un token. Il token verrà quindi inserito nel modulo da Javascript. Quando il modulo viene inviato, il server convaliderà il token con il servizio CAPTCHA (potrebbe trattarsi di una chiamata al servizio Web o di una convalida della firma). Quindi il fatto che ci sia AJAX non ti dice nulla sulla sicurezza del CAPTCHA, tranne che potrebbe essere sicuro.

Per quanto riguarda ciò che ti impedisce di licenziare la richiesta AJAX, la risposta è nulla. Ma per farlo correttamente, dovrai fornire la risposta al CAPTCHA, qualcosa che supposto sia difficile da determinare per un algoritmo del computer.

    
risposta data 28.05.2016 - 02:20
fonte
2

Se la convalida (vale a dire che l'input dell'utente corrisponde al testo sul CAPTCHA) è fatto lato client, nulla ti impedisce di aggirarlo. Non è nemmeno necessario leggere il codice: basta guardare la richiesta HTTP inviata da AJAX e copiarla. Questo può essere fatto con lo strumento di sviluppo in qualsiasi browser.

Una regola basilare per la sicurezza Web è non fidarsi mai del client. Solo perché il client dice che l'input dell'utente corrisponde al CAPTCHA, non significa che sia vero. Il server deve effettuare tale confronto e verificare che l'input dell'utente sia effettivamente corretto.

Potresti provare a offuscare il codice sul client, ma non ne varrebbe la pena. Senza un'adeguata convalida del server, un CAPTCHA è inutile.

    
risposta data 28.05.2016 - 01:49
fonte

Leggi altre domande sui tag