PowerScan
IT

Perché ricevo CAPTCHA su ogni sito? Cause e soluzioni

Multi-account · 9 min di lettura · di PowerOps

Foto: Unsplash

I CAPTCHA continui quasi sempre dipendono dal percorso di rete, dalle impostazioni del browser o dal fatto che i due raccontano storie diverse. Le cause in ordine di frequenza, con una soluzione per ciascuna.

I CAPTCHA continui di solito significano una cosa sola. Qualcosa nel modo in cui arrivi su un sito somiglia a una macchina, oppure a una folla che condivide un'unica porta, e il sito ha alzato il costo d'ingresso finché non riceve un segnale più chiaro. La verifica è il sintomo. La causa sta nel tuo percorso di rete, nelle impostazioni del browser, o in entrambi che raccontano al sito storie diverse.

Passa in rassegna le cause qui sotto in ordine. Le prime tre sono di gran lunga le più comuni e risiedono tutte nello stesso posto: l'indirizzo da cui arriva il tuo traffico.

Parti dall'indirizzo, perché di solito è quello

L'indirizzo è condiviso, o ha una storia alle spalle

La maggior parte delle connessioni non ti dà un indirizzo tutto tuo. Gli operatori mobili e molti provider domestici collocano un gran numero di abbonati dietro un piccolo gruppo di indirizzi pubblici. Uffici, campus e spazi di coworking fanno lo stesso. Qualunque cosa abbia fatto qualcun altro dietro quell'indirizzo stamattina, tu la erediti questo pomeriggio.

I pool di proxy economici funzionano allo stesso modo, con probabilità peggiori. Un pool residenziale condiviso affitta lo stesso indirizzo a chiunque lo compri in quell'ora, e un sito che ne ha visto in precedenza un'ondata di tentativi di accesso sarà prudente con il successivo.

La soluzione parte dallo scoprire quale indirizzo stai effettivamente presentando, poi dal testarlo anziché fidarti della descrizione che ti hanno venduto. In PowerOps un proxy viene aggiunto a una libreria e testato prima che si avvicini a un account, e il test riporta l'indirizzo osservato. Se il percorso risulta condiviso, sposta il profilo su uno che non lo sia.

È un indirizzo di datacenter

Gli intervalli di indirizzi appartenenti ai provider di hosting sono pubblici, catalogati e banali da consultare. Un indirizzo di datacenter non ha nulla di sbagliato in sé, e moltissimo traffico ordinario ne proviene. Per un account consumer con accesso effettuato, però, è un posto insolito in cui trovarsi, e i siti lo valutano di conseguenza.

La soluzione è riservare gli indirizzi di datacenter ai lavori che non richiedono alcun login personale e usare indirizzi residenziali o mobili per le sessioni degli account. Il costo sale. L'attrito scende. Questo compromesso è l'intera decisione.

Sei su un'uscita VPN che usano tutti

Una VPN consumer concentra un numero enorme di persone su pochissimi indirizzi di uscita. È il prodotto che funziona come progettato. È anche il motivo per cui una sessione dietro una di esse raccoglie verifiche che altrove non incontra. Non hai fatto nulla per mettere sotto esame quell'indirizzo. Lo ha fatto il puro volume.

La soluzione è un percorso dedicato per ogni profilo, da un provider che vende indirizzi sticky. Se ti serve una VPN per qualcosa di non correlato, tienila lontana dalla macchina o dal profilo che svolge il lavoro sugli account, e non sovrapporla mai a un proxy.

L'indirizzo cambia a metà sessione

Gli endpoint a rotazione ti assegnano un nuovo indirizzo a ogni richiesta o a ogni intervallo. Per raccogliere dati pubblici è utile. Per una sessione con accesso effettuato è un problema che ti crei da solo. Una sessione che inizia in una città e prosegue da un'altra pochi minuti dopo descrive qualcosa che nessuna persona fa.

Questa causa ha una forma inconfondibile. I primi minuti sono puliti. Poi le verifiche compaiono a ogni navigazione, spesso con una disconnessione a sorpresa nel mezzo.

La soluzione è passare l'endpoint a una modalità sticky o a sessione persistente, con un tempo di mantenimento superiore alla tua sessione di lavoro. Assegna il percorso prima del primo accesso, perché la prima sessione è quella che stabilisce che cosa è normale per quell'account.

Poi controlla se il browser racconta una storia coerente

Fuso orario, lingua e indirizzo non coincidono

Un profilo instradato attraverso Francoforte che dichiara un fuso orario di Los Angeles ha risposto alla stessa domanda in due modi diversi. Lo stesso vale per uno che presenta un indirizzo brasiliano insieme a un elenco di lingue del browser contenente solo il vietnamita. Nessuno dei due valori è notevole da solo. Insieme sono la contraddizione più economica che un sito possa cercare.

La soluzione è impostare il fuso orario e l'elenco delle lingue del profilo in modo che corrispondano al paese in cui approda il suo percorso, e controllarli insieme dopo ogni cambio di percorso. È la causa autoinflitta più comune dell'elenco e si corregge in circa dieci secondi.

Il ritmo delle richieste sembra automatizzato

Caricamenti di pagina a intervalli esatti di quattro secondi. Moduli compilati all'istante senza eventi di focus nel mezzo. Navigazione senza alcuno scorrimento. Una dozzina di profili che fanno cose identiche nello stesso secondo dalla stessa sottorete. Niente di tutto questo è vietato. È tutto insolito, e l'insolito è ciò che alza il costo d'ingresso.

La soluzione è il ritmo. Scagliona l'avvio dei profili invece di lanciare tutto insieme. Dai al lavoro automatizzato ritardi variabili e lascia che le pagine si assestino prima dell'azione successiva. Esegui lotti più piccoli. Se uno script si muove in un sito più velocemente di quanto potrebbe una persona, il sito ha il diritto di chiedere chi c'è dall'altra parte.

Poi guarda che cosa il browser conserva e che cosa blocca

Il set di cookie è obsoleto, assente o buttato via ogni notte

La maggior parte delle verifiche registra il proprio risultato. Ne superi una e il sito memorizza qualcosa che dice che questo browser ha già risposto, e la verifica smette di comparire per un po'. Cancella i cookie a ogni uscita, naviga in una finestra privata o crea ogni volta un nuovo profilo temporaneo, e quella traccia finisce nel cestino al termine di ogni sessione. La visita successiva parte a freddo.

La soluzione è un profilo con una propria directory persistente, chiuso correttamente in modo che il suo stato venga scritto. Un profilo terminato forzatamente a metà sessione può perdere proprio la traccia che aveva appena guadagnato.

Qualcosa blocca gli script di cui la verifica ha bisogno

Una verifica gira come script, di solito caricato da un dominio appartenente al fornitore di sicurezza anziché al sito che stai visitando. Content blocker aggressivi, blocker di script, estensioni per la privacy molto restrittive e l'archiviazione di terze parti disattivata possono tutti interrompere quel caricamento. La verifica non si completa mai, quindi riprova. Dal tuo lato sembra un ciclo infinito, o un riquadro di sfida che gira senza mai risolversi.

Procedi in quest'ordine:

  1. Apri la stessa pagina in un profilo senza alcuna estensione. Se il ciclo si ferma, la causa è un'estensione.
  2. Riattiva le estensioni una alla volta finché il problema ricompare. I content blocker e le estensioni di rafforzamento della privacy sono i soliti colpevoli.
  3. Consenti il dominio del fornitore della sfida in ciò che lo ha bloccato, anziché disattivare il blocker in blocco.
  4. Verifica che JavaScript e l'archiviazione di terze parti non siano disattivati per quel sito.
  5. Controlla l'orologio di sistema. Un orologio sfasato di diversi minuti rompe i token firmati da cui dipende una sfida, e il guasto non somiglia affatto a un problema di orologio.

Dal sintomo alla causa

Confronta ciò che vedi con la colonna di sinistra e parti dalla soluzione in quella di destra.

Che cosa vediCausa più probabilePrima cosa da provare
Verifiche su ogni sito, in ogni profilo, fin dalla prima richiestaL'indirizzo stesso: condiviso, affollato o di datacenterTesta il percorso e cerca a chi appartiene l'indirizzo
Un solo profilo colpito, gli altri a postoIl percorso di quel profilo, o il suo stato memorizzatoSostituisci con un percorso che sai essere buono prima di cambiare altro
Pulito per qualche minuto, poi verifiche a ogni navigazioneUn endpoint a rotazione che cambia indirizzo a metà sessionePassa l'endpoint a una modalità sticky con un lungo tempo di mantenimento
Superi una verifica e la stessa ricompare subitoIl superamento non viene memorizzato, oppure uno script necessario è bloccatoSmetti di cancellare i cookie all'uscita, poi riprova senza estensioni
Il riquadro della sfida gira e non si risolve maiUn blocker impedisce il caricamento dello script della sfidaConsenti il dominio del fornitore, poi controlla l'orologio di sistema
Il sito si carica nella lingua sbagliata prima dell'accessoImpostazioni locali e percorso non coincidonoFai corrispondere lingua e fuso orario del profilo al paese del percorso
È iniziato subito dopo un cambio di proxyLa storia del nuovo endpointTesta l'endpoint e chiedi al provider di fornirne un altro
È iniziato subito dopo l'aggiornamento di un'estensioneL'estensioneDisattivala per quel sito e ricarica

Che cosa non fare

Alcuni riflessi peggiorano le cose in modo sicuro.

E una cosa su cui non aiuteremo. Risolvere automaticamente queste verifiche esula da ciò che fa PowerOps e da ciò che questo blog spiegherà. Esistono servizi che lo vendono. Non ci integriamo con essi, non li documentiamo, e nessuna parte del prodotto è costruita per aggirare un controllo di sicurezza. Tutto quanto sopra riguarda l'eliminazione dei motivi per cui un sito deve chiedere, in primo luogo. Rispondere alla domanda al posto tuo è un altro mestiere, e non è il nostro.

Se niente funziona

A volte la verifica non ha nulla a che fare con te. Un sito sotto attacco alza la soglia per tutti, e il traffico di un intero paese può trovarsi dietro una regola più severa per un giorno o due. Prima di passarci un pomeriggio, carica la stessa pagina da una connessione ordinaria, senza proxy e senza alcun profilo. Se la verifica ti aspetta anche lì, la risposta è aspettare.

Per il resto del tempo si riduce a una breve lista. Un percorso con una storia alle spalle. Un percorso che non sta fermo. Valori in disaccordo tra loro. Un browser che non riesce a conservare ciò che ha guadagnato. Sistema questi quattro punti e le verifiche tornano a essere un fastidio occasionale anziché la forma della tua giornata di lavoro.

Tutti gli articoli · Avvia la scansione