CAPTCHA vulnerabilità di aggiornamento del codice

3

La domanda non è programmatica ma piuttosto concettuale.

Quando un utente tenta di compilare un modulo di contatto e quindi un codice CAPTCHA, se accidentalmente aggiorna la pagina o non riempie un campo di input richiesto, tornerà alla stessa pagina di solito con un nuovo Codice captcha. L'utente deve quindi ricaricare gli input e, ahimé, incontra un altro codice CAPTCHA che deve essere risolto di nuovo.

I - essendo un utente prima di uno sviluppatore - lo vedo come un compito per completare costantemente i CAPTCHA e vorrei che potesse essere cambiato in qualche modo che non mi faccia distinguere inutilmente quei noiosi personaggi un'altra volta.

Quindi, essendo nei panni del mio sviluppatore, decido di cambiare il modo in cui viene mostrato il codice CAPTCHA. Tengo il codice CAPTCHA in una sessione e non lo rinnoverò a livello di programmazione a meno che:

  1. L'utente desidera aggiornarlo.
  2. L'utente commette errori X nell'immissione dello stesso codice CAPTCHA. (ad esempio 3 volte)

Altrimenti, in ogni richiesta vengono mostrati gli stessi caratteri, non è necessario preoccuparsi di aggiornamenti indesiderati. Ma essendo lo sviluppatore che ci ha pensato, ci possono essere delle possibilità che qualcuno possa ignorarlo o sabotare cose di cui non sono a conoscenza.

L'implementazione di questo concetto può essere sicura e, in caso contrario, quale potrebbe essere la sua vulnerabilità?

    
posta revo 27.06.2016 - 15:23
fonte

2 risposte

2

Non vedo come potrebbe esserci un rischio per la sicurezza o altre vulnerabilità a seguito dell'implementazione della funzione suggerita. La ragione è semplice: poiché non vi è alcun rischio per la sicurezza o altre vulnerabilità a non avere un CAPTCHA in primo luogo (con la possibile eccezione di un attacco DOS se l'azione che il CAPTCHA protegge è un'azione lenta ) , qualsiasi modifica apportata al CAPTCHA non dovrebbe creare un nuovo rischio per la sicurezza. Lo scopo di un CAPTCHA è semplicemente quello di prevenire azioni inutili per ridurre l'ingombro delle risorse da parte dell'host, ma nessuna di queste azioni dovrebbe essere correlata alla sicurezza, come possono fare anche gli umani.

Quindi, anche se incasini la funzione e rendi il CAPTCHA più facile da battere, non dovrebbe esserci alcuna nuova vulnerabilità alla sicurezza come conseguenza di ciò.

Per quanto riguarda l'utilità o meno, nella mia esperienza gli utenti aggiornano raramente la pagina e una buona interfaccia utente evidenzierà i campi richiesti, quindi l'errore più probabile durante l'invio è il CAPTCHA stesso, che probabilmente si desidera cambia dopo ogni tentativo se l'unico errore era il CAPTCHA (per impedire a un bot di ottenere più tentativi allo stesso CAPTCHA). Penso che tu stia bene comunque; lo scenario peggiore è che un bot ha più probabilità di batterlo. Nessun grosso problema ...

    
risposta data 27.06.2016 - 16:20
fonte
1

Invece di cercare di affinare il comportamento dei CAPTCHA su un modulo, considera che molti utenti odiano i CAPTCHA e dovresti cercare invece di risolvere il problema che stai davvero cercando di risolvere. Forse puoi eliminare completamente i CAPTCHA, il che renderebbe i tuoi utenti molto più felici di un comportamento CAPTCHA leggermente meno confuso.

I CAPTCHA vengono principalmente utilizzati per ridurre il numero di problemi causati dagli spammer robot. Alcuni spammer utilizzano strumenti che cercano i moduli di registrazione delle pagine Web e tentano di registrare nuovi account. Una volta che un nuovo account è stato creato e attivato, lo spammer pubblica link ai loro servizi nella speranza che Google indicizzi i risultati, rendendo la loro spazzatura più legittima. Il termine educato per questa attività di spamming è "Search Engine Optimization".

Si noti che questo è un uso "soft" dei CAPTCHA. Ci sono milioni di siti là fuori, quindi il proprietario del sito ha solo bisogno di aumentare abbastanza di un ostacolo per impedire agli spammer di abusarne facilmente.

Se questa è la ragione principale del CAPTCHA, considera altri modi per sconfiggere gli spammer. Aggiungi i tag ref = nofollow a tutti i commenti degli utenti in modo che non vengano indicizzati da Google. Utilizza un sistema di moderazione in modo che i nuovi commenti dei posters vengano esaminati prima di essere pubblicati su tutti i membri. Forse assicurati che i nuovi utenti non possano pubblicare link reali finché non vengono approvati. Ho persino visto siti con una casella di controllo nella pagina dei commenti che dice "spunta questa casella se non sei uno spammer", ed è stato quasi altrettanto efficace. Ancora una volta, l'obiettivo è di sollevare gli ostacoli per tenere lontani gli spammer automatici.

Se il CAPTCHA viene utilizzato per proteggere qualcosa di più prezioso, ad esempio tentando di impedire agli scalpi di acquistare automaticamente centinaia di ticket di eventi, probabilmente non si vuole indebolire il sistema.

    
risposta data 27.06.2016 - 17:23
fonte

Leggi altre domande sui tag