Cum se introduce captcha cu două cuvinte. Ce sunt CAPTCHA-urile? Ocoliți captcha folosind serviciile publice

Pentru unii, procesul de solicitare a introducerii unui captcha este surprinzător, dar de fapt acesta este un fenomen normal pe internet. Faptul este că captcha este un alt mod de a vă proteja site-ul de spam sau hacking. Când este exact necesar să introduceți captcha, ce este o astfel de protecție, vom afla chiar acum.

De foarte multe ori codul este rugat să introducă la înregistrarea pe diferite site-uri. Acest lucru este de înțeles, în acest caz, verificarea „umanității” este mai presus de toate, deoarece proprietarul acestei resurse nu are deloc nevoie de roboți în sistem. Captcha este solicitat destul de des dacă efectuați aceeași acțiune de mai multe ori la rând. Poate fi orice, comentarii la fotografii, postări etc., precum și trimiterea de mesaje către mai mulți prieteni simultan. Chiar și pe rețelele sociale îi place.

În acest din urmă caz, cel mai probabil sistemul vă va cere să îl convingeți că nu sunteți un robot care dorește să trimită spam tuturor prietenilor dvs. Din acest motiv, rețelele sociale nu au voie să apeleze mai mult de 50 de prieteni pe zi pentru a vă asigura că nu colectați mii automat în scopuri proprii, doar pentru promovare sau alt spam.

Când trebuie să introduc codul de securitate?

O cerere de introducere a unui captcha poate fi emisă în diferite situații și cazuri. Arată așa: este evidențiată o nouă fereastră, în care imaginea este situată deasupra. Mai jos, datele care trebuie dezlegate și introduse într-o coloană goală, sub imaginea în sine.

De obicei, aceasta nu durează mai mult de câteva secunde, astfel încât această procedură nu vă va lua mult timp.

Până de curând, un astfel de sistem de protecție era într-adevăr eficient. Dar astăzi, nu doar metodele și metodele de protecție sunt îmbunătățite, ci și programele de protecție se dezvoltă la viteză maximă, actualizate, îmbunătățite.

Acum, dacă nu doriți să intrați în mod constant în captcha, un program care poate fi descărcat gratuit de pe diferite servere îl poate face pentru dvs. Există, de asemenea, programe plătite de acest tip. Sunt pentru cei care se luptă constant cu captcha. Pentru utilizator obișnuit va fi suficient să descărcați versiunea obișnuită software gratuit, care va recunoaște automat codurile când vi se solicită și nu trebuie să pierdeți timp pe ele.

Înregistrați-vă >>>

Ce tipuri de captcha există?

Astăzi există mai multe tipuri de captchas, cu cele mai comune și mai simple, probabil fiecare utilizator al spațiului Internet este familiar. Asa de, captchas simple sunt atunci când trebuie să rezolvați caractere (rusă sau engleză) sau numere într-o formă distorsionată, există opțiuni combinate.

Poate fi, de asemenea, un exemplu aritmetic pe care trebuie să îl rezolvați. Aceste exemple pot avea diferite grade de complexitate, dar cel mai adesea, există exemple foarte ușoare într-o acțiune, cum ar fi: 1 + 1 sau 2-1 etc.

Cele mai neobișnuite captchas sunt imagini care sunt localizate incorect. Când vi se cere să introduceți un astfel de captcha, trebuie doar să setați imaginea în direcția corectă. Când vedeți acest tip de cod, știți imediat ce să faceți și unde să faceți clic.

Captcha este o formă destul de interesantă de protecție. Trebuie să aducem un omagiu dezvoltatorilor acelor captchas pentru care nu există încă programe de hacking, deoarece o astfel de protecție poate fi numită cu adevărat de încredere. Dar din această cauză au fost inventate și câteva trucuri. Care. Afla acum.

Intrare Captcha ca venit suplimentar

Se pare că astăzi pe Internet puteți câștiga bani nu numai scriind articole, vândând bunuri și creând site-uri web. Tastarea captcha este, de asemenea, o afacere profitabilă. De obicei, cu acest tip de câștiguri încep începătorii, pentru această muncă nu sunt necesare experiență, nici cunoștințe, nici abilități suplimentare, în această privință totul nu este nicăieri mai ușor.

Deci, dacă ați fost atras de acest tip de câștiguri, consultați instrucțiunile detaliate de unde să începeți și cum să câștigați și mai mulți bani în această afacere în timp.

Urmăriți videoclipul - Cum să câștigați bani cu intrarea captcha:

Câștigați 💰 online prin introducerea captcha Tot ce aveți nevoie este să introduceți corect textul din imagine (din captcha).

Obțineți bani 💵 pentru fiecare intrare captcha.

Înregistrați-vă >>>

Instrucțiuni pentru a câștiga bani pe captchas

Pentru a începe să câștigi bani în modul propus, trebuie să urmezi instrucțiunile prezentate, astfel încât să nu existe întrebări și probleme inutile.

  1. Înregistrați-vă pe serviciu, specializată în acest domeniu special.
  2. După înregistrare, puteți începe imediat lucrul, dar nu uitați că trebuie să aveți propriul cont în spațiul de internet, unde veți fi creditat cu bani pentru munca pe care ați făcut-o.
  3. Apăsați butonul - „începeți” sau „începeți să câștigați” și înainte, pentru venituri. Fondurile vor fi creditate în cont automat după fiecare intrare captcha.

Dacă folosiți mai mult sau mai puțin activ Internetul în munca dvs. de zi cu zi, atunci probabil că știți despre un lucru atât de neplăcut precum captcha. Uneori interferează atât de mult cu munca încât oamenii deseori pur și simplu nu mai vizitează acele site-uri ai căror proprietari îi acordă prea multă atenție.

Ce este?

Apropo, ce este un captcha? Imaginați-vă că vizitați un serviciu popular de găzduire a fișierelor. Pentru a descărca un fișier în modul gratuit, va trebui să introduceți un anumit set de caractere (adesea fără sens) într-un câmp special, care ar trebui să fie preluat din imaginea de alături.

Sarcina este complicată de faptul că aceste simboluri sunt uneori complet imposibil de identificat, deoarece sunt făcute în mod deliberat ilizibile.

Pentru ce este?

După ce am dat seama ce este un captcha, ar fi bine să vorbim despre scopul său specific. De ce este necesar să îngrădim o astfel de grădină de legume, ceea ce face dificilă trimiterea comentariilor sau descărcarea fișierelor?

Da, au fost momente când nimeni nu știa deloc despre captcha. A apărut relativ recent. Acest lucru s-a întâmplat în aceeași perioadă când o mulțime de roboți s-au crescut pe spațiile deschise ale Runetului, cu ajutorul cărora cetățenii întreprinzători au lăsat reclame în comentarii, au descărcat fișiere gratuit și au făcut alte lucruri dezonorante.

Desigur, administratorii au păstrat ordinea asupra multor resurse, dar în majoritatea serviciilor de blogging, încărcătura asupra acestora s-a dovedit a fi de așa natură încât au încetat pur și simplu să facă față. Atunci, utilizatorii au aflat despre ce este un captcha! Cunoașterea s-a dovedit a fi destul de neplăcută.

Pentru a fi mai precis, tehnologia în sine a fost creată inițial în 2000. Inițial, se intenționa doar să se determine „umanitatea” interlocutorului dvs. pe internet: atunci nu a fost creat pur și simplu un singur program pentru captcha (pentru recunoașterea sa, mai precis).

Care este dezavantajul său?

Dacă ați citit cu atenție prima parte a articolului, atunci puteți afla mai mulți factori negativi ai utilizării captcha pe cont propriu. În primul rând, majoritatea utilizatorilor acționează într-o stare de impuls. Pur și simplu, când vedeți o postare interesantă în același LJ, doriți să o comentați imediat.

Dar vă confruntați cu un captcha indigest și majoritatea personajelor sunt atât de ilizibile încât poate dura mai mult de o zi pentru a le rezolva. Ce crezi, va fi utilizatorul implicat într-o sarcină atât de ingrată?

Desigur că nu! Va merge doar pe un alt site. Astfel, dacă încercați să vă protejați resursa de cei cărora le place să lase spam în comentarii, vă sfătuim să nu fiți prea zeloși.

Dacă sunteți prea lăsați cu captchas, veți pierde rapid mulți utilizatori activi. Fără utilizatori - fără bani publicitari. În plus, majoritatea resurselor normale recunosc automat spamul în comentarii, deci de multe ori nu are niciun sens o protecție suplimentară.

La fel se poate spune și pentru site-urile de partajare a fișierelor. Desigur, îi puteți înțelege pe creatorii lor: oferind tuturor și descărcând gratuit informațiile de interes, vor pierde pur și simplu profitul.

Dar aceeași situație poate fi vizualizată din partea opusă: dacă un site vă oferă posibilitatea de a obține un fișier gratuit, va câștiga cu ușurință un public uriaș, care va recupera rapid toate costurile prin atragerea agenților de publicitate. Apropo, exact așa funcționează iFolderul intern, al cărui creatori nu se pot plânge exact de sărăcie.

Deci, chiar și din punctul de vedere al obținerii unui profit, însăși ideea de captcha nu pare atât de atractivă.

Ce sa fac?

Și cum să eliminați captcha, este cu adevărat posibil să o faceți deloc? Situația de aici este destul de ambiguă. Faptul este că pe multe site-uri care utilizează acest tip de protecție împotriva spamului, nu fiecare utilizator poate citi captcha prima dată, darămite unele aplicații.

Variantele simple pot fi recunoscute cu ajutorul micului utilitar Screenshot Reader, care este inclus în pachetul software ABBYY FineReader. Dar ea citește cel mai mult forme simple captcha pe care orice utilizator normal îl poate identifica cu ușurință. În plus, procesul în sine nu poate fi automatizat, deoarece pentru recunoaștere este necesar să selectați manual intervalul care vă interesează.

Intrare Captcha

Dacă nu aveți prea multe opțiuni, atunci va trebui să vă ocupați manual de această sarcină ingrată. Ce sfaturi poți da? În primul rând, încercați să o faceți mai repede: multe site-uri au un contor care resetează valoarea dacă nu o puteți introduce în câteva minute.

În plus, erorile de ortografie apar adesea atunci când JavaScript este dezactivat în browserul dvs. Nu uitați de necesitatea cookie-urilor, deoarece acestea vor ajuta site-ul să vă „recunoască”, eliminând trecerea constantă a protecției enervante.

În cele din urmă, acordați atenție celor scrise pe pagina principală a site-ului. De regulă, captcha pentru un site web este descris în detaliu într-o notă explicativă sau într-un articol separat. Un exemplu excelent este serviciul de partajare a fișierelor Rapidshare, care a introdus la un moment dat un captcha unic.

Caracterele sale erau ușor de distins, nu erau folosite tehnologii de estompare sau polarizare pentru a face dificilă recunoașterea de către programe. Care a fost secretul?

Și a constat în faptul că pe acele litere și cifre care trebuiau introduse în câmpul corespunzător, erau pisici. Câte cuvinte puternice au fost spuse creatorilor unui astfel de sistem în timp util! În cele din urmă, a fost abandonat sub presiunea comunității de utilizatori.

Cumpărăm „antidot”

O altă opțiune este să contactați un programator normal (sau un grup, ceea ce este chiar mai bun), astfel încât acesta să facă un utilitar pentru recunoașterea captcha pe un anumit site. Din păcate, nu există soluții universale, doar pentru că protecția este unică pentru fiecare resursă. Unele soluții tipice sunt foarte rare.

Un interes deosebit în această privință sunt evoluțiile companiei CMS Bitrix, care distribuie programe cu adevărat eficiente care fac față captcha-urilor pe cele mai populare site-uri. Dezvoltatorii susțin că eficiența creației lor este de 95%. În funcție de tipul de protecție, de complexitatea acesteia și de locul specific, dezvoltarea metodelor de protecție vă poate costa câteva mii de dolari sau chiar mai mult.

În plus, unele resurse au o protecție atât de sofisticată încât nu este ușor pentru o persoană să o rezolve!

Este posibil să câștigi bani la intrarea în ea?

Începătorii sunt deseori interesați dacă este posibil să câștige cumva bani prin introducerea unor personaje de protecție. Și acest lucru nu este surprinzător, deoarece Internetul este plin de reclame despre recrutarea grupurilor de oameni care vor primi niște bani prin efectuarea recunoașterii captcha. Ar trebui să mă implic în asta?

În opinia noastră (poate destul de subiectivă), nu merită să faceți această afacere. Veți cheltui o cantitate uriașă de nervi, energie și trafic. Și plata unor astfel de „bani ușori” este pur și simplu uimitoare: după ce ați stat toată ziua la computer, cu persistență maniacală implicată în conducerea în captcha, veți câștiga maximum câțiva dolari. Ai nevoie de el? Probabil ca nu.

Ieșire universală

Dacă vorbim despre găzduirea fișierelor, atunci dacă încărcați în mod regulat fișiere, singura cale sigură de a ieși din situație este să cumpărați un cont plătit. De regulă, costul său este destul de adecvat. Prin achiziționarea unui astfel de abonament, veți putea descărca orice cantitate de informații rapid și fără inconveniente.

Cum să elimini captcha de pe blogul tău?

Sperăm că ați tras concluziile corecte după ce ați citit cea mai mare parte a articolului nostru. Prin urmare, vom lua în considerare cum să eliminăm intrarea captcha din popularul serviciu Blogger din serviciul notoriu. Nu este dificil să faceți acest lucru și veți aduce multă bucurie vizitatorilor site-ului dvs. web.

Mai întâi, accesați „Editorul” paginii dvs. În coloana din stânga, selectați elementul „Setări”. Are o secțiune „Mesaje și comentarii”. În câmpul „Utilizați verificarea cuvântului”, setați valoarea „nu”, după care captcha nu va fi necesară la introducerea mesajelor.

Ce se întâmplă dacă nu o puteți introduce corect?

Se întâmplă ca programul pentru introducerea captcha sau a site-ului în sine (dacă introduceți valorile manual) să dea în mod constant o eroare. Care ar putea fi motivul?

În primul rând, trebuie să te calmezi. De regulă, există o săgeată curbată în partea dreaptă a oricărui CAPTCHA. Făcând clic pe acesta, veți actualiza setul de caractere pe care trebuie să îl introduceți pentru a accesa site-ul. Folosindu-l, puteți schimba un set complet ilizibil. Din păcate, literele necitite sunt foarte frecvente. Deci, uneori, diferența dintre literele „Q” și „G” este complet nedistinguibilă.

În cele din urmă, pe multe site-uri, puteți evita tastarea caracterelor de securitate prin simpla înregistrare pe ea. Încercați și această metodă.

Asta este captcha!

Bună tuturor. Cel mai probabil știți deja ce este un captcha, poate tocmai l-ați văzut, dar nu știați numele acestei curbe și o imagine enervantă care trebuie introdusă la fiecare pas. Deci, pentru cei care nu știau - acesta este un captcha (captcha).

Este un test generat automat pentru a verifica dacă utilizatorul este un om sau un computer. În majoritatea covârșitoare a cazurilor, este o inscripție distorsionată de litere și / sau numere. Ele pot fi scrise în diverse combinații de culori folosind zgomot, curbură, suprapunerea liniilor suplimentare sau forme arbitrare.

Scopul și funcția captcha

De ce aveți nevoie de intrare captcha, deoarece poate respinge utilizatorii?
De exemplu, în iubita rețea socială VKontakte, trebuie introdusă dacă numărul de acțiuni într-o anumită perioadă de timp depășește parametrul permis. Apropo, dacă trimiteți 50 de mesaje la rând cu un interval de 1 secundă, atunci, cu siguranță, va apărea un captcha, deoarece veți fi suspectat de spam. Și spamul, după cum știți, este în mare parte roboți care nu pot (așa cum au conceput autorii) să introducă text dintr-o imagine. În consecință, aceasta este o măsură forțată care protejează resursele împotriva spamului și a sarcinii sporite atunci când este atacat de roboți.

Cu toate acestea, captcha nu ajută întotdeauna, deoarece puteți găsi o cheie pentru fiecare blocare, altfel această blocare este pur și simplu ruptă și inutilă. Majoritatea desenelor pot fi recunoscute de rețelele neuronale, după ce le-au instruit anterior în numeroase exemple (câteva zeci sau chiar sute de mii). Aceste exemple sunt pregătite de voluntari care stau și conduc captcha-uri zile în șir pentru o mică taxă. Pentru a nu fi neîntemeiat, iată un exemplu din Habrahabr despre hacking Yandex captcha. Există, de asemenea, servicii speciale, cum ar fi antigatul, care oferă un serviciu de recunoaștere. Au o bază imensă de exemple gata făcute, iar acele cazuri care nu se află încă în bază sunt recunoscute manual.

Exemple de captcha, cazuri de utilizare

Poate vă puteți gândi la ceva nu la fel de enervant ca sărind și sărind text / numere? Da, bineînțeles că te poți gândi la asta. Și, mai mult, au venit deja cu asta. Acum vă voi arăta exemple de captcha-uri care nu deranjează atât de mult vizitatorii. Să începem cu cel standard - text.

Acum să trecem la exemple mai interesante. Acestea includ captcha, unde trebuie să puneți 3 imagini pe verticală. În opinia mea, aceasta este una dintre cele mai reușite variații în acest domeniu, pur și simplu pentru că nu este enervant, ci dimpotrivă, este captivant și puțin distractiv. Nu este chiar o intrare captcha, ci doar un mini-joc.

În plus, aș dori să spun câteva cuvinte despre captcha matematică. Poate fi la fel de simplu pe cât de complex. Personal, îmi place CAPTCHA, unde trebuie să aduni sau să scazi două numere. Acest lucru este mult mai convenabil decât așezarea și analizarea textului curbat. Cu toate acestea, dacă treceți puțin peste complexitate, atunci pot apărea probleme.

Și, în concluzie, un exemplu periculos de securitate imaginară, captcha - „pune o bifă”. Mulți oameni cred că acest lucru este suficient, dar nu bănuiesc că este foarte ușor să bifați programat caseta și să instruiți robotul să o facă - este o chestiune de 1 minut. Într-adevăr, în acest caz, captcha nu este introdus ca atare, dar parametrul CheckBox'a este modificat.

Acum știți ce este un captcha și aveți o idee despre ceea ce pot fi.

  • hacking manual al CAPTCHA (un hacker studiază o implementare specifică a unui captcha și selectează modalități de hack);
  • utilizarea programelor speciale (roboți), cu ajutorul cărora sunt organizate atacuri automate masive pe mai multe site-uri în același timp (de regulă, dezvoltate pe aceeași platformă sau având aceleași captchas, la care hackerii au reușit să găsească „chei” ");
  • exploatarea muncii oamenilor reali.

Motivele atacatorilor atunci când sparg captcha pot fi foarte diferite, variind de la banală invidie și răzbunare, până la răspândirea spamului și obținerea controlului asupra întregii resurse folosind injecția SQL și alte mecanisme.

De regulă, toate ocolirile captcha în masă încep cu hacks manuale. Acest lucru se întâmplă, de regulă, la comandă sau din interes științific, iar astfel de atacuri vizează implementări specifice CAPTCHA.

Și apoi sunt deja puse pe flux, adică sunt organizate automat folosind programe robotizate (roboți).

Ei bine, în cazurile în care este imposibil să se evite programarea captcha, CAPTCHA este introdus manual folosind munca unor persoane reale care trimit aceste date atacatorului sau rezolvă captcha în timp real datorită API-ului.

Deci, instrumentele și motivele hackerilor s-au rezolvat. Să vedem acum cele mai comune moduri de a ocoli CAPTCHA, sortându-le în două grupuri: cele care sunt posibile datorită erorilor programatorilor în implementarea CAPTCHA și cele pentru care sunt utilizate tehnologiile moderne.

Să începem în ordine și voi încerca să le aranjez în ordine crescătoare a complexității protecției împotriva lor, începând cu cele mai primitive și terminând cu cele împotriva cărora nu au fost încă inventate metode de protecție.

Pentru a crea intrigi, voi spune că sunt pe acest moment se află trei.

Ocoliți captcha din cauza erorilor de implementare

Dacă întrebați creatorii propriilor implementări CAPTCHA despre cum să ocoliți captcha, aceștia vă vor spune cel puțin mai multe moduri. Dar, cel mai interesant lucru este că ei înșiși lasă uneori ferestrele și ușile în creațiile lor pentru a le sparge.

Acest lucru se întâmplă adesea din vina factorului uman sau, mai degrabă, a neglijenței obișnuite în timpul dezvoltării și a profunzimii insuficiente atunci când se testează securitatea captchas.

Dar, uneori are loc și lipsa de experiență, din cauza căreia programatorul pur și simplu nu știa despre unele metode de ocolire a captcha în momentul dezvoltării.

După cum am promis, în această secțiune voi lua în considerare cele mai frecvente, precum și modalitățile de protejare împotriva lor. Și să începem, așa cum am promis, cu primitivul în sine.

Ocoliți captcha cu un set fix de sarcini

În zorii apariției captcha-ului ca mijloc de combatere a roboților, captcha-urile auto-scrise erau foarte populare, deoarece toată lumea voia să încerce tehnologie nouăși, ca rezultat, captchas au fost inventate de toți și de toți.

În cazul utilizării captcha-urilor auto-scrise, în a căror implementare dezvoltatorii au decis să nu se deranjeze cu o bază de date mare de imagini, întrebări sau alte tipuri de sarcini, pentru un atac automat vizat pe un site cu un astfel de CAPTCHA, trebuie să aflu răspunsurile în modul manual.

Acestea. mergem la un astfel de site, selectăm răspunsuri, compunem o bază de date cu sarcini și soluții corecte și scriem un bot pentru atacuri cu forță brută care va selecta opțiunile adecvate.

Dar, din fericire, nu există multe astfel de situații în lumea modernă, pentru că securitatea cibernetică a atins de atunci un nivel foarte solid și nimeni nu este implicat în crearea unor astfel de primitivi.

Și dacă există astfel de oameni, atunci ei învață foarte repede din greșelile lor atunci când își pierd controlul asupra site-ului web sau a clienților care au fost hackerați din cauza unor astfel de creații.

Protecţie: nu creați niciodată captcha-uri cu un set de probleme, soluții pentru care pot fi selectate manual. Dacă pentru a rezolva un captcha trebuie să rezolvați orice exemplu matematic sau să introduceți simboluri din imagine, atunci sarcinile și răspunsurile la acestea ar trebui generate automat.

O altă modalitate de a vă proteja împotriva unei astfel de intrări automate de captcha este schimbarea numelui câmpului formularului în care trebuie introdus răspunsul. Dacă numele câmpului, de exemplu, va fi întotdeauna „captcha”, atunci va fi mai ușor pentru un atacator să spargă un astfel de captcha. Programul său robot va trimite doar o cerere către scriptul serverului specificat în atributul HTML „acțiune” al formularului care conține valoarea captcha necesară.

Dacă în această situație numele câmpului captcha este același tot timpul, atunci hackerul va folosi pur și simplu baza celor mai frecvente nume ale câmpurilor captcha, care pot fi compilate independent atunci când studiați diverse site-uri sau puteți descărca gata făcute de pe resurse specializate (nu le voi enumera pentru a promova hacking-ul).

Dacă numele câmpului, precum și sarcina de transmitere a captcha, vor fi generate pe server, atunci nicio bază de nume captcha nu va ajuta. Pentru a utiliza un nume de câmp dinamic, în practică, captcha este generat de un script și procesat de altul.

În acest caz, implementarea captcha are o nuanță semnificativă: scriptul care procesează corectitudinea intrării sale va trebui să transfere cumva numele câmpului captcha. Acest lucru se realizează cel mai adesea folosind introducerea formularului ascuns, atribute de date sau trecându-le prin cookie-uri sau printr-o sesiune.

Punctul cheie este că nu puteți trece numele direct, adică câmpul captcha se numește „captcha_mysite”, iar câmpul ascuns conține valoarea „captcha_mysite” sau „site”. Trebuie criptat, iar decriptarea trebuie făcută utilizând același algoritm ca și criptarea.

Deoarece algoritmul de criptare va fi stocat pe server, un atacator nu îl poate recunoaște pur și simplu (numai dacă nu obține acces la conținutul scriptului serverului).

Apropo, este suficient să folosiți o secvență aleatorie de caractere în locul numelui câmpului, ceea ce este foarte ușor de obținut în PHP folosind funcția uniqid ().

Ocolind captcha folosind sesiuni

Dacă implementarea captcha implică stocarea răspunsului corect în sesiune și sesiunea nu este recreată după fiecare intrare captcha, atunci atacatorii pot afla identificatorul sesiunii și pot afla valoarea CAPTCHA criptată.

Astfel, pot alege cu ușurință un algoritm de criptare și îl pot folosi pentru alte atacuri automatizate de forță brută folosind roboți.

De asemenea, dacă în codul pentru verificarea răspunsului utilizatorului pe server, programatorul nu verifică golul variabilei de sesiune în care este transmis răspunsul utilizatorului, atunci hackerul poate utiliza un identificator de sesiune inexistent pentru care variabila va pur și simplu nu exista.

Datorită acestei omisiuni, astfel de captchas pot fi transmise prin glisarea sesiunilor de id inexistente și valori goale captcha.

Protecţie: indiferent cât de mult doriți să nu mai utilizați sesiunile pentru a transfera valorile captcha, acesta este un preț foarte ridicat pentru a asigura securitatea captcha împotriva hacking-ului. Prin urmare, sesiunile, valorile variabilelor și identificatorilor lor trebuie pur și simplu protejate cu atenție, astfel încât un hacker să nu poată utiliza informațiile stocate în ele.

Merită, de asemenea, să faceți toate banalele, dar astfel de verificări necesare ale variabilelor pentru existența și vidul valorilor lor.

Hacking captcha datorită informațiilor secrete din codul clientului

Uneori captcha-urile sunt realizate în așa fel încât, atunci când transferă valorile utilizatorului către server, folosesc criptarea folosind așa-numita „sare”, adică adăugarea ID-ului sesiunii, a valorii IP sau a altor date unice la valoarea CAPTCHA. Adesea aceasta poate fi o simplă secvență aleatorie de caractere.

Iar principala condiție pentru rezolvarea captcha este coincidența valorii CAPTCHA criptate introduse de utilizator cu valoarea corectă a acesteia care a fost generată când pagina a fost deschisă și înregistrată în sesiune sau în alt spațiu de stocare pentru a fi transmise în continuare către server.

Coincidența acestor valori va indica cel mai probabil faptul că utilizatorul este o persoană reală care a intrat în captcha generat în timpul sesiunii de comunicare, la finalul căreia a rezolvat-o și de pe același computer pe care a văzut captcha pentru prima dată.

Dacă aceste valori unice nu se potrivesc, atunci, cel mai probabil, captcha a fost introdusă automat de robot.

Acest mecanism de protejare a site-ului împotriva roboților este bine gândit, dar uneori aceste valori generate secret sunt prezente în codul HTML al paginii, de unde pot fi citite cu ușurință. Prin urmare, puteți configura citirea automată a acestora folosind programe și aceeași intrare automată atunci când treceți un captcha.

Protecţie: Când implementați un CAPTCHA, trebuie să țineți cont de această gaură de securitate și, dacă trebuie să luați în considerare valoarea unui identificator unic pentru a rezolva un captcha, atunci trebuie să vă asigurați că nu este menționat nici în JS, nici în JS. în cod HTML care poate fi vizualizat într-un browser.

De asemenea, trebuie să recreați ID-ul sesiunii și să generați alte valori unice (inclusiv CAPTCHA în sine, dacă este posibil) după fiecare încercare de a introduce un CAPTCHA, care vă va salva sau cel puțin va complica sarcina hackerilor de a pirata site-ul prin selectând automat valoarea corectă.

Un alt mijloc de protecție este, dacă este posibil, blocarea acțiunilor prin IP și numărul de încercări.

Cum să ocoliți captcha fără a schimba adresa IP

Un atac cu forță brută este un mod eficient de a ocoli captcha, nu numai în cazurile de implementare a acestuia cu un set fix de sarcini și soluțiile acestora.

O altă greșeală în implementarea CAPTCHA, care o face vulnerabilă la atacuri automate, este lipsa unor limite de timp pentru rezolvarea CAPTCHA și numărul de încercări.

În acest caz, va fi posibil să ocoliți captcha folosind program special, care va colecta o bază de date cu întrebări sau va selecta răspunsuri din lista existentă. Mai mult, toate acestea se vor face automat datorită metodelor moderne de învățare automată și dezvoltărilor din domeniul inteligenței artificiale, care au făcut un mare pas înainte în ultimii ani.

Protecţie: atunci când implementați un captcha cu adevărat sigur, trebuie să limitați timpul de răspuns și numărul de încercări de a rezolva captcha de la un singur IP pentru a bloca atacurile cu forță brută a roboților.

De exemplu, dacă au trecut mai puțin de 2 secunde între generarea captcha și răspunsul utilizatorului, atunci considerați un astfel de utilizator un robot și afișați mesajul corespunzător pe ecran. Textul mesajului ar trebui să conțină instrucțiuni către utilizatorii reali conform cărora introducerea nu ar trebui făcută atât de repede (în cazul în care persoana a fost în măsură fizică să introducă răspunsul mai repede).

Dacă într-adevăr a fost o persoană, atunci va lua măsurile adecvate și, dacă este un robot, va continua să încerce să ocolească captcha.

Astfel de încercări ar trebui considerate incorecte, fixându-și numărul în variabila de sesiune și blocând alte acțiuni pentru utilizatori prin IP-ul lor. De asemenea, nu va fi inutil ca astfel de adrese blocate să emită un mesaj în loc de captcha pentru a contacta administratorul dacă utilizatorul blocat a fost o persoană reală.

Și o altă modalitate eficientă de a combate roboții este de a impune limite anumitor acțiuni de pe site. De exemplu, o înregistrare dintr-un singur IP. Principalul lucru aici nu este să flirtezi și să nu atingi limitele numărului de comentarii pentru un utilizator unic.

Dar adevărul trebuie spus, aceste măsuri vor ajuta puțin datorită existenței serverelor proxy.

Ocolirea captcha folosind un proxy

Chiar și în situații în care blocarea un numar mareÎncercările de a rezolva captcha prin IP încă apar, acest eveniment nu oferă protecție 100% împotriva roboților.

Este vina serverului proxy și a programelor anonimizatoare care funcționează pe baza lor, despre care, probabil, toată lumea știe școlari moderni căutând soluții control parentalși blocarea site-urilor interzise.

Anonimizatorii vă permit să ascundeți datele computerului atunci când utilizați site-ul, inclusiv adresa IP râvnită, la care clientul poate fi calculat și blocat.

Schema este simplă: utilizatorul se conectează la un server proxy, unde datele sale sunt criptate sau înlocuite de altele (de exemplu, vi se poate atribui o adresă IP a altei țări), apoi se face o cerere către site-ul țintă către care clientul vrea să se conecteze.

Astfel, atacatorul va ocoli cu ușurință toate blocările IP și va selecta soluția captcha corectă atâta timp cât are nevoie.

Și pe unele site-uri în care captcha apare doar atunci când se efectuează un număr mare de aceleași acțiuni (de exemplu, în VK când se adaugă un număr mare de prieteni), este posibil să nu apară deloc dacă fiecare acțiune este efectuată dintr-un nou IP și observarea timeout-urilor între încercările de a rezolva captcha, astfel încât comportamentul botului să fie similar cu comportamentul unei persoane reale.

Această metodă a fost utilizată acum o jumătate de secol la scrierea primelor programe pentru a trece testul Turing, a cărui implementare este CAPTCHA.

Apropo, principiile descrise sunt utilizate de toate programele cunoscute în prezent pentru introducerea automată de captcha. Pentru a schimba adresa IP de conectare la site, aceștia folosesc baze de date proxy gratuite și comerciale, care, cu prezența internetului, nu vor fi dificil de obținut.

Protecţie: Din păcate, datorită prezenței anonimizatorilor și a bazelor de date deschise PROXY, nu va fi posibil să vă protejați împotriva pirateriei captcha, urmărind criminalii cibernetici prin IP.

Singura speranță este că serverele PROXY pot impune restricții asupra numărului de IP-uri utilizate de un utilizator și a numărului de conexiuni de la fiecare dintre ele.

Din acest motiv, nu ar trebui să omiteți complet verificarea IP. Datorită măsurilor de precauție împotriva captării bypass-ului captcha, va fi posibil, mai devreme sau mai târziu, să blocați hackerul la un nivel sau altul.

Iar cea mai corectă concluzie în această situație ar fi să folosim, pe lângă această metodă de protecție împotriva hacking-ului captcha, altele care ajută la expunerea hackerului într-un mod diferit.

Intrare Captcha utilizând automat emulatoare de acțiune

Dacă, pentru a trece CAPTCHA, trebuie să efectuați o anumită acțiune (făcând clic pe un buton, deplasând glisorul etc.), atunci puteți, de asemenea, să ocoliți captcha în această situație simulând acțiunea necesară (făcând clic pe o anumită element de control sau altă acțiune).

Singura problemă cu care se poate confrunta un hacker în această situație este cum să găsești programat controlul dorit pe site.

Cel mai simplu mod de a face acest lucru este prin coordonatele sau poziția sa față de unele elemente statice ale resursei.

Protecţie: pentru a vă proteja de intrarea automată captcha, în acest caz, trebuie să schimbați constant poziția controlului care vă permite să rezolvați CAPTCHA. Acestea. dacă din trei persoane trebuie să o alegeți doar pe cea cu mâna ridicată, în niciun caz nu trebuie așezat constant în același loc.

Ei bine, în cazul altor implementări CAPTCHA, când acest lucru este imposibil (de exemplu, pentru butonul de descărcare sau câmpul „Nu sunt un robot”, care poate avea un singur răspuns corect), este necesar să se utilizeze alte metode de protecție care poate opri roboții să rezolve automat CAPTCHA.

Cum să ocoliți captcha folosind tehnologie înaltă

Am luat în considerare punctele slabe ale implementărilor CAPTCHA, care sunt găuri de securitate și sunt cele mai frecvente în practică. Cu toate acestea, în practică, chiar și cele mai impecabile captcha-uri nu sunt uneori capabile să protejeze resursa folosindu-le de atacurile hackerilor.

Aceste cazuri de hacking captcha sunt o consecință directă a progresului modern și a nivelului de dezvoltare. tehnologia calculatoarelor, care, după cum știți, nu sunt întotdeauna utilizate în scopuri bune.

Deci, cum să evitați utilizarea captcha tehnologii moderne?

Ocolesc captcha cu OCR

OCR (Recunoașterea Optică a Caracterelor) este o tehnologie pentru recunoașterea textului tipărit sau dactilografiat pentru utilizare ulterioară în format electronic. Cel mai faimos software care implementează această tehnologie este Adobe FineReader.

Este utilizat cu succes la crearea de programe automate de intrare captcha care recunosc și rezolvă cu succes captchas grafice, pentru care trebuie să introduceți secvența de caractere prezentată în imagine.

Hackerii, desigur, nu folosesc Adobe FineReader (deși pot exista unele 🙂), ci scriu scripturi speciale care, folosind diverse biblioteci gata făcute pentru lucrul cu imagini sau folosind capacitățile limbajului pentru lucrul cu grafică, recunosc captcha și dă o secvență de caractere, descrisă pe ea.

Pe Internet, am găsit un număr suficient de exemple de astfel de scripturi. Principiul muncii lor a fost după cum urmează:

  • ștergerea imaginii folosite în CAPTCHA grafice de diferite zgomote;
  • împărțirea liniei afișate în caractere separate;
  • comparând fiecare dintre ele cu o imagine pregătită (eșantion).

Probele grafice au fost pregătite luând în considerare diferite fonturi și posibile distorsiuni (înclinări, rotații etc.).

După cum probabil ați ghicit, cel mai important lucru este să compilați o bază de date cu imagini de simboluri în diferite variante, cu care simbolurile captcha vor fi comparate ulterior.

Protecţie: de fapt, pentru a confunda programele OCR, se folosesc toate zgomotele enervante și distorsiunile caracterelor din imagini, din care cauză textul este uneori dificil de analizat chiar și pentru o persoană. Dar, în cazul roboților, acest lucru funcționează bine, ca urmare, algoritmii OCR nu pot oferi un rezultat 100% precis, ceea ce are un efect pozitiv asupra securității captcha și a site-urilor care îl utilizează.

Dacă decideți să utilizați captchas grafice, pentru trecerea cărora trebuie să introduceți caracterele afișate în imagine, atunci trebuie să urmați următoarele recomandări:

  1. Caracterele de pe CAPTCHA diferite trebuie să aibă coordonate diferite.
  2. Dacă utilizați un fel de efecte de zgomot pentru a crea fundalul, atunci culoarea acestuia trebuie să se potrivească cu culoarea caracterelor, altfel fundalul poate fi ușor eliminat prin evidențierea caracterelor pentru recunoaștere.
  3. Distanța dintre personaje ar trebui să fie minimă. Puteți chiar să le suprapuneți una peste alta, dar numai fără fanatism, astfel încât utilizatorii reali să le poată recunoaște.
  4. Folosiți diferite fonturi pentru a face dificilă găsirea celui potrivit pentru recunoaștere.
  5. Distorsionați simbolurile în orice mod posibil, schimbați-le stilul și grosimea.
  6. Utilizați biblioteci speciale care vă permit să schimbați simbolurile în așa fel încât să fie imposibil să selectați un font pentru recunoașterea programului. Un exemplu de astfel de soluție este un captcha de la creatorul resursei captcha.ru, care este generat folosind algoritmul de distorsiune a caracterelor de tip val de autor.

Toate aceste măsuri fac posibilă complicarea recunoașterii captcha grafice pentru sistemele OCR și reducerea numărului de intrări captcha automate.

Cum să treceți un captcha folosind rețele neuronale

Dacă OCR este o tehnologie destul de veche (primele dispozitive brevetate sunt cunoscute la începutul secolului XX), atunci rețelele neuronale artificiale (ANN) au apărut abia în a doua jumătate a secolului precedent (pentru tehnologii, 50 de ani este o vârstă semnificativă 🙂).

Algoritmii ANN stau la baza inteligenței artificiale (AI), al căror scop este de a crea programe și dispozitive dotate cu funcții creative, adică crearea unei persoane create de om.

În acest moment, AI este în continuă evoluție și în fiecare zi apar din ce în ce mai multe invenții care au proprietăți nevăzute anterior.

La ultima conferință despre rețelele neuronale la care am participat, s-a raportat că Google, care se dezvoltă activ în acest domeniu, a anunțat deja accesul publicului servicii cloud care operează pe baza ANN.

Cu ajutorul lor puteți:

  • recunoaște obiecte din fotografii (de la genul persoanei descrise și marca blugilor săi căreia îi aparține imaginea analizată, cu întreaga sa paletă de culori, numele locației și ce se întâmplă pe ea);
  • dispozitive de control cu ​​voce și gesturi;
  • scrieți adnotări video pe baza a ceea ce se întâmplă în videoclip etc.

Bineînțeles, cu aceste posibilități, crearea unui program pentru introducerea automată a captcha folosind principiile ANN nu este dificilă pentru persoanele cu cunoștințe.

Un astfel de produs a fost dezvoltat de Vicarious în 2014. Rețeaua neuronală dezvoltată de ea este capabilă să recunoască captchas în 90% din cazuri (amintiți-vă că pentru a rezolva testul clasic Turing, care este CAPTCHA, sunt necesare doar 1% din răspunsurile corecte).

Protecţie: Din păcate, este imposibil să te aperi împotriva acestui tip de atac. Și, din fericire, ANN Vicarious nu va fi folosit pentru atacuri țintite pentru a ocoli captcha pe site-uri web, deoarece este prea scump pentru sarcini atât de mici (producătorii înșiși spun că este un grup de mai multe servere). Domeniul său principal de aplicare este rezolvarea diferitelor probleme de medicină și robotică.

Hackarea unui captcha cu ajutorul său este doar o demonstrație a posibilităților.

Dar timpul trece, tehnologiile care erau scumpe ieri devin din ce în ce mai ieftine, iar timpul nu este departe când produsele ANN vor deveni omniprezente. Prin urmare, este foarte posibil ca în viitor să existe roboți pentru introducerea automată a captcha-ului, dotat cu inteligență artificială.

Ocoliți captcha folosind serviciile publice

Odată cu dezvoltarea sistemelor OCR și AI, măsurile de complicație a captcha-urilor grafice au devenit din ce în ce mai complexe, ceea ce le-a permis dezvoltatorilor lor să depună eforturi enorme în implementare. Dar totuși, s-au dovedit a fi în zadar, tk. nu au oferit o protecție 100% a site-urilor împotriva atacurilor automate.

Prin urmare, Google a mers, după cum mi se pare, calea corectă și a decis să inventeze pur și simplu un nou standard noCAPTCHA, refuzând să introducă manual caractere din imagini.

La dezvoltarea reCAPTCHA noCAPTCHA, a fost utilizată experiența roboților de luptă în era începutului captcha și a dezvoltărilor moderne în domeniul inteligenței artificiale, ceea ce permite asigurarea unui nivel adecvat de securitate a site-ului, dar, de asemenea, nu complică foarte mult viața utilizatorilor de internet .

Dar în ciuda faptului că acest standard a apărut destul de recent, în 2015, a fost deja găsit un mod de a rezolva automat. Și este departe de aplicarea inteligenței artificiale.

Totul este mult mai banal - pentru trecere Google reCAPTCHA este suficient să folosiți propriile servicii de recunoaștere a imaginii și vorbirii Google.

Recunoașterea imaginilor în cazul reCAPTCHA v2 (același noCAPTCHA) este puțin probabil să ajute, deoarece pentru sarcini grafice, trebuie să selectați imagini pe care sunt prezente obiectele necesare și să nu introduceți caracterele descrise, așa cum a fost cazul în versiunea anterioară.

Dar serviciile serviciului Google Speech Recognition, care este una dintre realizările Google în domeniul inteligenței artificiale, care au fost menționate în metoda anterioară de ocolire a captcha-ului, vor fi foarte utile. Deoarece serviciul oferă un API, nu este dificil să creați o aplicație bazată pe acesta.

Protecţie: din păcate, în această situație, ca și în cea anterioară, în care ANN a fost folosit pentru a ocoli captcha, nu va fi posibil să se protejeze împotriva captcha bypass. Singurul punct pozitiv este din nou disponibilitatea relativă a serviciilor adecvate, deoarece Google oferă doar un test de 300 USD pentru a le utiliza.

După finalizarea lor, serviciile devin plătite. Dar, pentru hackeri, este puțin probabil să fie o piedică, tk. pot câștiga și mai mult pe atacurile care utilizează introducerea automată de captcha.

Deci, în cazul utilizării serviciilor de recunoaștere a vorbirii și a imaginilor pentru a pirata captcha, speranța rămâne doar asupra vigilenței administrării lor, care poate bloca contul dacă constată că este utilizat exclusiv în scopurile descrise.

Cum să treci captcha folosind munca umană

La sfârșitul listei de modalități de a ocoli captcha, am decis să consider că nu este potrivit pentru niciuna dintre categoriile enumerate mai sus.

Nu se bazează pe exploatarea vulnerabilităților în implementările CAPTCHA și pe utilizarea tehnologiilor moderne, ci se bazează pe dorința naturală a omului de a face bani.

Și în același timp, Pe aici ajută la spargerea unui captcha de orice complexitate în 100% din cazuri și, mai mult, la realizarea acestuia fără eforturi financiare, fizice și morale speciale.

Vorbim despre una dintre modalitățile moderne de a câștiga bani - care, apropo, a apărut pe vremea când CAPTCHA a devenit dificil de recunoscut programatic.

Esența sa constă în faptul că se creează un serviciu special care se presupune că permite oamenilor să câștige bani (în mare parte mici, ceea ce poate fi suficient doar pentru indieni sau școlari care caută orice modalitate de a obține bani) prin rezolvarea manuală a captcha-urilor.

Oricine are nevoie de soluțiile lor poate furniza aceste captchas.

Practic, aceștia sunt hackeri care folosesc răspunsurile utilizatorilor reali în scopuri egoiste proprii:

  • automatizarea câștigurilor;
  • trimiterea de spam;
  • cumpărarea de bilete și bunuri în magazinele online pentru o revânzare mai scumpă;
  • site-uri de hacking etc.

Pentru un proces mai convenabil, serviciile oferă chiar și un API, datorită căruia trecerea captcha poate fi efectuată online. Acestea. utilizatorul intră în captcha prin intermediul serviciului și, în acest moment, răspunsul său este utilizat pentru a confirma achiziția online.

Apropo, mulți specialiști în domeniul programării pot folosi munca umană absolut gratuit. De exemplu, așa își câștigă existența proprietarii de site-uri porno, partajarea de fișiere, torrente și alte resurse dubioase care oferă servicii gratuite.

Aceștia, presupus gratuit, oferă utilizatorilor conținut valoros, cerându-ne de la noi o simplă fleac - pentru a confirma că sunteți un om și nu un robot, cu ajutorul căruia infractorii cibernetici își folosesc produsele în scopuri proprii.

Bineînțeles, nu gândim mult timp, tk. a avea ocazia de a descărca un film mult așteptat în calitate HD absolut gratuit pentru a pune un cec în caseta „Nu sunt un robot” este doar un fleac. Între timp, acțiunea dvs. API este utilizată pentru a ocoli captcha pe un alt site terță parte.

De aici morală: amintiți-vă întotdeauna asta brânză gratuită doar într-o capcană de șoareci și nimic nu este gratuit.

Protecţie: din păcate, astăzi aceasta este cea mai eficientă metodă de a ocoli captcha, de la care nu există remedii. Și nu va fi până când cei care vor să câștige un ban din munca grea și iubitorii de conținut gratuit, adică, cel mai probabil - niciodată, nu vor epuiza.

Bypass captcha - concluzii

În timpul redactării acestui articol, am ajuns la concluzia că captcha, în ciuda ideii excelente cu care a fost conceput, și anume, protecția site-urilor împotriva roboților, a încetat de mult să își îndeplinească funcțiile.

Dacă totuși vă puteți proteja de ocolirea automată a captcha-urilor care exploatează punctele slabe ale implementărilor CAPTCHA prin eliminarea tuturor problemelor legate de securitatea lor, atunci este pur și simplu imposibil să vă protejați de intrarea captcha a utilizatorilor reali pentru bani.

În această situație, singurul lucru care ne salvează este că aceștia plătesc bani ridicoli pentru acest tip de muncă și puțini oameni sunt de acord cu aceasta, astfel încât scara atacurilor cibernetice care utilizează captcha automată nu este atât de catastrofală pe cât ar putea fi.

De asemenea, tehnologiile de inteligență artificială, care s-au dezvoltat activ în ultimii ani, se numără printre metodele „invincibile” de a ocoli captcha.

În același timp, pentru a complica viața hackerilor, captcha-urile sunt „umflate” în mod constant cu noi funcționalități, din cauza cărora trecerea lor devine o sarcină dificilă și plictisitoare chiar și pentru utilizatorii reali ai site-ului.

Amintiți-vă același Google reCAPTCHA: bifați caseta, dacă Google nu-i place ceva, alegeți altul și poze necesare(cu indicatoare rutiere, apropo, mai am probleme, pentru că pot trece printr-o astfel de sarcină de la aproximativ 5 încercări). Este multă vâlvă pentru a lăsa un comentariu sau a vă înregistra pe site? Este mai ușor să găsești o altă resursă ...

Dar, în ciuda acestor precauții, captcha în acest moment nu poate fi numit un mod impecabil de a proteja împotriva roboților, pentru care mulți îl critică și încearcă să caute alternative la acesta.

În același timp, faptul că CAPTCHA continuă să fie utilizat ca tehnologie de apărare cibernetică și este în continuă evoluție, inclusiv de către Google, care nu va investi bani în proiecte dubioase, sugerează că această tehnologie va exista pentru mult timp.

Prin urmare, atunci când dezvoltați și întrețineți site-uri existente care utilizează captcha, este necesar să utilizați în mod activ recomandările prezentate pentru a face viața cât mai dificilă hackerilor pentru hacking-ul lor software.

Și nu uitați să vă împărtășiți gândurile despre metodele existente de ocolire a captcha și măsurile de protecție împotriva acestora în comentariile de la articolul 🙂

P.S.: dacă aveți nevoie de un site sau trebuie să faceți modificări la unul existent, dar nu există timp și dorință pentru asta, îmi pot oferi serviciile.

Peste 5 ani de experiență dezvoltarea site-ului profesional. Lucreaza cu PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, Reacţiona, Unghiularși alte tehnologii de dezvoltare web.

Experiență în dezvoltarea de proiecte de diferite niveluri: pagini de destinație, site-uri corporative, Magazine online, CRM, portaluri... Inclusiv sprijin și dezvoltare Proiecte HighLoad... Trimiteți aplicațiile prin e-mail [e-mail protejat].

Există diferite moduri de a ocoli CAPTCHA-urile care securizează site-urile. În primul rând, există servicii speciale care utilizează forța de muncă manuală ieftină și oferă rezolvarea a 1000 de captcha-uri literalmente pentru $ 1. Alternativ, puteți încerca să scrieți un sistem inteligent care, conform anumitor algoritmi, va efectua recunoașterea în sine. Acesta din urmă poate fi acum implementat folosind un utilitar special.

Rezolva captcha

Recunoașterea CAPTCHA este adesea o sarcină non-banală. Este necesar să aplicați o mulțime de filtre diferite pentru imagine pentru a elimina distorsiunea și interferențele, pe care dezvoltatorii doresc să le întărească rezistența de protecție. Adesea trebuie să implementați un sistem antrenabil bazat pe rețele neuronale (acest lucru, apropo, nu este atât de dificil pe cât s-ar părea) pentru a obține un rezultat acceptabil pentru soluția automatizată de captchas. Pentru a înțelege despre ce vorbesc, este mai bine să ridicați arhiva și să citiți minunatele articole „Hacking CAPTCHA: theory and practice. Înțelegerea modului în care sunt distruse captcha-urile ”și„ Să privim și să recunoaștem. Hacking Filtre Captcha ”de la numerele # 135 și respectiv # 126. Astăzi vreau să vă povestesc despre dezvoltarea TesserCap, pe care autorul o numește un rezolvator universal CAPTCHA. Lucru curios, orice ar spune cineva.

Mai întâi uită-te la TesserCap

Ce a făcut autorul programului? El a analizat modul în care este abordată de obicei problema soluției automate CAPTCHA și a încercat să rezume această experiență într-un singur instrument. Autorul a observat că pentru a elimina zgomotul din imagine, adică pentru a rezolva cea mai dificilă problemă la recunoașterea captcha-urilor, se folosesc cel mai adesea aceleași filtre. Se pare că, dacă implementați un instrument convenabil care vă permite să aplicați filtre imaginilor fără transformări matematice complexe și să le combinați cu un sistem OCR pentru recunoașterea textului, puteți obține un program complet funcțional. De fapt, acest lucru a fost făcut de Gursev Singh Kalra de la McAfee. De ce a fost necesar? Autorul utilității a decis să verifice cât de sigure sunt captchas de resurse mari. Pentru testare, am selectat acele site-uri de Internet care sunt cele mai vizitate în conformitate cu versiunea binecunoscutului serviciu de statistici. Monștri precum Wikipedia, eBay și furnizorul de captcha reCaptcha au devenit candidați pentru testare.

Dacă luăm în considerare, în termeni generali, principiul funcționării programului, atunci este destul de simplu. Captcha original merge la sistemul de preprocesare a imaginii, care curăță captcha de orice zgomot și distorsiuni și trece imaginea rezultată prin transportor către sistemul OCR, care încearcă să recunoască textul de pe acesta. TesserCap are o interfață grafică interactivă și are următoarele proprietăți:

  1. Are un sistem versatil de preprocesare a imaginii care poate fi configurat pentru fiecare captcha individual.
  2. Include motorul de recunoaștere Tesseract care extrage text dintr-o imagine CAPTCHA analizată și redată anterior.
  3. Suportă utilizarea diferitelor codificări în sistemul de recunoaștere.

Cred că sensul general este clar, așa că vă propun să văd cum arată. Versatilitatea utilitarului nu putea decât să ducă la complicarea interfeței sale, astfel încât fereastra programului poate duce la o mică stupoare. Deci, înainte de a trece direct la recunoașterea captcha-urilor, vă propun să trateze cu interfața și funcționalitatea încorporată.


Preprocesarea și extragerea imaginii
text din captcha

Despre

Nu am putut să nu spunem cel puțin câteva cuvinte despre autorul minunatului utilitar TesserCap. Numele său este Gursev Singh Kalra. El este consultant principal pentru Foundstone Professional Services, afiliat al McAfee. Gursev a vorbit la conferințe precum ToorCon, NullCon și ClubHack. Este autorul instrumentelor TesserCap și SSLSmart. În plus, a dezvoltat mai multe instrumente pentru nevoile interne ale companiei. Limbajele de programare preferate sunt Ruby, Ruby on Rails și C #. Foundstone® Professional Services, unde lucrează, oferă organizațiilor expertiză și instruire pentru a se asigura că activele lor sunt protejate continuu și eficient de cele mai presante amenințări. Echipa de servicii profesionale este formată din experți și dezvoltatori de securitate renumiți, cu o vastă experiență de lucru cu corporații multinaționale și guvern

Interfață. Fila principală

După începerea programului, ni se prezintă o fereastră cu trei file: Principal, Opțiuni, Preprocesare imagine. Fila principală conține controale care sunt utilizate pentru a porni și a opri un test de imagine CAPTCHA, pentru a genera statistici de testare (câte ghici și câte nu), navigați și selectați o imagine pentru preprocesare. Câmpul de introducere URL (controlul nr. 1) trebuie să conțină adresa URL exactă pe care aplicația web o folosește pentru a prelua captcha-urile. Adresa URL poate fi obținută făcând clic pe partea dreaptă a imaginii CAPTCHA, copiind sau vizualizând codul paginii și extragând adresa URL din atributul src al etichetei ..site / common / rateit / captcha.asp? Image. Lângă linia de adresă, există un element care stabilește numărul de captcha-uri care trebuie încărcate pentru testare. Deoarece aplicația poate afișa doar 12 imagini odată, oferă controale pentru derularea pagină cu pagină a captcha-urilor descărcate. Astfel, în timpul testării la scară largă, vom putea derula prin captcha-urile descărcate și vom vedea rezultatele recunoașterii lor. Butoanele Start și Stop opresc și respectiv opresc testarea. După testare, trebuie să evaluați rezultatele recunoașterii imaginilor, marcând fiecare dintre acestea ca fiind corecte sau incorecte. Ei bine, ultima, cea mai semnificativă funcție este utilizată pentru a transfera orice imagine în sistemul de preprocesare, în care este setat un filtru care elimină zgomotul și distorsiunea din imagine. Pentru a trimite o imagine către sistemul de preprocesare, faceți clic dreapta pe imaginea necesară și selectați elementul Trimitere către preprocesator imagine din meniul contextual.

Interfață. Fila Opțiuni

Fila de opțiuni conține diverse controale pentru configurarea TesserCap. Aici puteți selecta un sistem OCR, puteți seta setări proxy web, puteți activa redirecționarea și preprocesarea imaginilor, puteți adăuga anteturi HTTP personalizate și puteți specifica o gamă de caractere pentru sistemul de recunoaștere: numere, litere mici, litere mari, caractere speciale.

Acum despre fiecare opțiune mai detaliat. În primul rând, puteți alege un sistem OCR. În mod implicit, doar unul este disponibil - Tesseract-ORC, deci nu trebuie să vă deranjați alegerea aici. O altă caracteristică foarte interesantă a programului este alegerea unei game de personaje. Luați, de exemplu, un captcha de pe un site - puteți vedea că nu conține o singură literă, ci constă doar din numere. Deci, de ce avem nevoie de caractere suplimentare care să crească doar probabilitatea unei recunoașteri incorecte? Dar ce zici de majuscule? Programul va putea recunoaște un captcha format din litere mari orice limbă? Nu, nu poate. Programul preia o listă de caractere utilizate pentru recunoaștere fișiere de configurare aflat în \ Program Files \ Foundstone Free Tools \ TesserCap 1.0 \ tessdata \ configs. Permiteți-mi să vă explic cu un exemplu: dacă am selectat opțiunile Numerice și Minuscule, atunci programul se va referi la fișierul cu numere mici începând cu parametrul tessedit char lista albă. Aceasta este urmată de o listă de simboluri care vor fi folosite pentru a rezolva captcha. În mod implicit, fișierele conțin doar litere din alfabetul latin, deci pentru a recunoaște alfabetul chirilic, trebuie să înlocuiți sau să completați lista de caractere.

Acum, un pic despre ce este câmpul Http Request Headers. De exemplu, pe unele site-uri web trebuie să vă conectați pentru a vedea captcha. Pentru ca TesserCap să poată accesa captcha, programul trebuie să treacă în anteturile solicitării HTTP, cum ar fi Accept, Cookie și Referrer etc. Utilizând un proxy web (Fiddler, Burp, Charles, WebScarab, Paros etc.), puteți interceptați antetele cererii trimise și introduceți-le în câmpul de intrare Http Request Headers. O altă opțiune care va fi cu siguranță utilă este Urmăriți redirecționările. Ideea este că TesserCap nu urmărește redirecționările în mod implicit. Dacă adresa URL de testare trebuie să urmeze redirecționarea pentru a obține imaginea, trebuie să selectați această opțiune.

Ei bine, rămâne ultima opțiune, care activează / dezactivează mecanismul de preprocesare a imaginii, pe care îl vom lua în considerare în continuare. În mod implicit, preprocesarea imaginii este dezactivată. Utilizatorii configurează mai întâi filtre de preprocesare a imaginilor conform imaginilor CAPTCHA testate și apoi activează acest modul. Toate imaginile CAPTCHA încărcate după ce este activată opțiunea Activare preprocesare imagine sunt preprocesate și apoi transferate în sistemul Tesseract OCR pentru extragerea textului.

Interfață. Fila Preprocesare imagine

Ei bine, am ajuns la cea mai interesantă filă. Aici sunt configurate filtrele pentru a elimina diferite zgomote și estompări din captchas, care încearcă să complice cât mai mult sarcina sistemului de recunoaștere. Procesul de configurare a unui filtru universal este extrem de simplu și constă din nouă etape. La fiecare etapă a preprocesării imaginii, sunt afișate modificările acesteia. În plus, pagina are o componentă de validare care vă permite să evaluați corectitudinea recunoașterii captcha atunci când este aplicat un filtru. Să luăm în considerare fiecare etapă în detaliu.

Etapa 1. Inversia culorii

Acest pas inversează culorile pixelilor pentru imaginile CAPTCHA. Codul de mai jos arată cum se întâmplă acest lucru:

Pentru (fiecare pixel din CAPTCHA) (dacă (invertRed este adevărat) nou roșu = 255 - roșu curent dacă (invertBlue este adevărat) albastru nou = 255 - albastru curent dacă (invertGreen este adevărat) verde nou = 255 - verde curent)

Inversarea uneia sau mai multor culori deschide adesea noi posibilități pentru validarea unui CAPTCHA testat.

Etapa 2. Schimbarea culorii

La acest pas, puteți schimba componentele de culoare pentru toți pixelii din imagine. Fiecare câmp numeric poate conține 257 ( 1 până la 255) valori posibile. Pentru componentele RGB ale fiecărui pixel, în funcție de valoarea din câmp, se efectuează următoarele acțiuni:

  1. Dacă valoarea este -1, componenta de culoare corespunzătoare nu se modifică.
  2. Dacă valoarea nu este -1, toate componentele găsite culoarea specificată(roșu, verde sau albastru) se modifică în funcție de valoarea introdusă în câmpuri. O valoare 0 elimină componenta, o valoare de 255 setează intensitatea maximă și așa mai departe.

Etapa 3. Grayscale (Grayscale)

În al treilea pas, toate imaginile sunt convertite în imagini în tonuri de gri. Acesta este singurul pas necesar de conversie a imaginii care nu poate fi omis. În funcție de butonul selectat, una dintre următoarele acțiuni este efectuată în legătură cu componenta de culoare a fiecărui pixel:

  1. Medie -> (Roșu + Verde + Albastru) / 3.
  2. Om -> (0,21 * Roșu + 0,71 * Verde + 0,07 * Albastru).
  3. Media componentelor minime și maxime de culoare -> (Minim (roșu + verde + albastru) + maxim (roșu + verde + albastru)) / 2.
  4. Minim -> Minim (roșu + verde + albastru).
  5. Maxim -> Maxim (Roșu + Verde + Albastru).

În funcție de intensitatea și distribuția componentei de culoare a CAPTCHA, oricare dintre aceste filtre poate îmbunătăți imaginea extrasă pentru procesare ulterioară.


Etapa 4. Anti-aliasing și ascuțire

Pentru a face mai dificilă extragerea textului din imaginile CAPTCHA, se adaugă zgomot sub formă de puncte cu un singur pixel sau multi-pixeli, linii străine și distorsiuni spațiale. Când imaginea este netezită, crește zgomotul aleatoriu, care este apoi eliminat de filtrele Bucket sau Cutoff. În câmpul numeric Treceți, ar trebui să indicați de câte ori trebuie aplicată masca de imagine corespunzătoare înainte de a trece la etapa următoare. Să aruncăm o privire la componentele filtrului pentru netezire și ascuțire. Există două tipuri de măști de imagine disponibile:

  1. Măști fixe. TesserCap are șase dintre cele mai populare măști de imagine în mod implicit. Aceste măști pot netezi imaginea sau ascuți imaginea (transformarea Laplace). Modificările sunt afișate imediat după selectarea unei măști folosind butoanele corespunzătoare.
  2. Măști de imagine personalizate. Utilizatorul poate configura, de asemenea, măști personalizate de procesare a imaginilor, introducând valori în câmpurile numerice și făcând clic pe butonul Salvare mască. dacă suma coeficienților din aceste ferestre este mai mică decât zero, se generează o eroare și masca nu este aplicată. Atunci când alegeți o mască fixă, butonul Salvare mască nu este necesar.

Pasul 5. Introducerea nuanțelor de gri

În acest stadiu al procesării imaginilor, pixelii săi pot fi colorați într-o gamă largă de nuanțe de gri. Acest filtru afișează distribuția scalelor de gri în 20 de găleți / intervale. Procentul de pixeli în tonuri de gri în intervalul de la 0 la 12 este în bucket 0, procentul de pixeli în tonuri de gri în intervalul 13-25 este în bucket 1, etc. Utilizatorul poate alege unul dintre următoarele pentru fiecare interval de valori în tonuri de gri:

  1. Las-o asa.
  2. Înlocuiți cu alb.
  3. Înlocuiți cu negru.

Cu aceste opțiuni, puteți controla diferite game de tonuri de gri și, de asemenea, puteți reduce / elimina zgomotul schimbând scala de gri în alb sau negru.

Pasul 6. Setarea limitei

Acest filtru trasează dependența valorii nivelului de gri de frecvența apariției și vă solicită să selectați o limită. Principiul filtrului de întrerupere este prezentat mai jos în pseudocod:

Dacă (valoarea în tonuri de gri a pixelilor<= Cutoff) pixel grayscale value = (0 OR 255) ->în funcție de opțiunea selectată (<= или =>: Setați fiecare pixel cu valoare<=/=>Prag la 0. Rămase la 255)

Graficul prezintă distribuția detaliată a pixelilor CAPTCHA după culoare și ajută la eliminarea dezordinii prin tăierea valorilor nivelului de gri.

Pasul 7: tocat

După aplicarea anti-aliasing, decupare, bucketing și alte filtre, imaginile CAPTCHA pot fi în continuare aglomerate cu puncte cu un singur pixel sau multi-pixel, linii străine și distorsiuni spațiale. Principiul filtrului de așchiere este după cum urmează: dacă numărul de pixeli adiacenți colorați într-o nuanță dată de gri este mai mic decât valoarea din câmpul numeric, filtrul de așchiere le atribuie o valoare de 0 (negru) sau 255 (alb) la alegerea utilizatorului. În același timp, CAPTCHA este analizat atât pe orizontală, cât și pe verticală.

Etapa 8: Modificați lățimea chenarului

Potrivit autorului utilitarului, în timpul cercetării și dezvoltării inițiale a TesserCap, el a remarcat în mod repetat că atunci când imaginile CAPTCHA au o linie de margine groasă și culoarea ei este diferită de fundalul principal al CAPTCHA, unele sisteme OCR nu pot recunoaște textul. Acest filtru este conceput pentru a procesa liniile limită și a le schimba. Liniile limită cu lățimea specificată în câmpul numeric sunt colorate în negru sau alb la alegerea utilizatorului.

Pasul 9: inversați nuanța gri

Acest filtru trece prin fiecare pixel și își înlocuiește valoarea nivelului de gri cu unul nou, așa cum se arată în pseudocodul de mai jos. Inversia în tonuri de gri este utilizată pentru a potrivi imaginea la setările de culoare ale sistemului OCR.

Pentru (fiecare pixel din CAPTCHA), o nouă valoare a tonurilor de gri = 255 - valoarea curentă a tonurilor de gri

Pasul 10: Verificați recunoașterea Captcha

Scopul acestui pas este de a transmite imaginea CAPTCHA preprocesată către sistemul OCR pentru recunoaștere. Butonul Rezolvare preia imaginea după filtrul de inversare a tonurilor de gri, o trimite la sistemul OCR pentru extragerea textului și afișează textul returnat într-o GUI. Dacă textul recunoscut se potrivește cu textul din captcha, atunci am setat corect filtrul pentru preprocesare. Acum puteți merge la fila Opțiuni și activați opțiunea Activare preprocesare imagine pentru a procesa toate captcha-urile încărcate ulterior.

Recunoașterea captcha

Ei bine, poate că am luat în considerare toate opțiunile acestui utilitar și acum ar fi frumos să testăm niște captcha pentru rezistență ..


Rezultatul analizei site-ului captcha cu un preliminar
procesarea imaginii. Pe baza rezultatelor, filtrul
nu a reușit să ridice

Deci, lansăm utilitarul și accesăm site-ul web al revistei. Vedem lista vești proaspete, mergeți la primul care apare și derulați până la locul unde puteți lăsa comentariul. Da, nu este ușor să adăugați un comentariu (desigur, altfel ar fi fost spam mult timp) - trebuie să introduceți un captcha. Ei bine, să verificăm dacă acest lucru poate fi automatizat. Copiați adresa URL a imaginii și lipiți-o în bara de adrese TesserCap. Vă indicăm că trebuie să descărcați 12 captchas și să faceți clic pe Start. Programul a încărcat cu atenție 12 imagini și a încercat să le recunoască. Din păcate, toate captcha-urile fie nu au fost recunoscute, după cum reiese din inscripția -Eșuat- de sub ele, fie au fost recunoscute incorect. În general, nu este surprinzător, deoarece zgomotul și distorsiunile străine nu au fost eliminate. Asta vom face acum. Faceți clic dreapta pe una dintre cele 12 imagini încărcate și trimiteți-o către pre-procesorul Trimitere la imagine. După ce am examinat cu atenție toate cele 12 captcha-uri, vedem că acestea conțin doar numere, așa că mergeți la fila Opțiuni și indicați că numai numerele trebuie recunoscute (set de caractere = numerice). Acum puteți merge la fila Preprocesare imagine pentru a configura filtrele. Trebuie să spun imediat că după ce m-am jucat cu primele trei filtre („Inversia culorii”, „Schimbarea culorii”, „Scara de gri”) nu am văzut niciun efect pozitiv, așa că am lăsat totul acolo în mod implicit. Am selectat Smooth Mask 2 și am setat numărul de pase la una. Am sărit peste filtrul pentru găleți în tonuri de gri și am mers direct la setarea de tăiere. Am ales valoarea 154 și am indicat că acei pixeli, care sunt mai mici, ar trebui să fie setați la 0, iar cei mai mari, la 255. Pentru a scăpa de punctele rămase, am activat tăierea și am schimbat lățimea chenarului la 10. Nu a avut rost să includ ultimul filtru, așa că am dat imediat clic pe Rezolvare.

Pe captcha am avut numărul 714945, dar programul l-a recunoscut ca 711435. Acest lucru, după cum puteți vedea, este complet greșit. În cele din urmă, oricât am luptat, nu am reușit să recunosc corect captcha. A trebuit să experimentez cu pastebin.com, pe care am reușit să îl recunosc fără probleme. Dar dacă vă dovediți mai sârguincios și mai răbdător și reușiți să obțineți recunoașterea corectă a captcha-urilor de pe site, accesați imediat fila fila Opțiuni și activați pre-procesarea imaginii (Activați preprocesarea imaginii). Apoi accesați Main și, făcând clic pe Start, descărcați o porțiune nouă de captchas, care va fi acum pre-procesată de filtrul dvs. După rularea programului, marcați captcha-urile recunoscute corect / incorect (butoanele Mark as Correct / Mark as InCorrect). De acum înainte, puteți vizualiza statisticile de sinteză privind recunoașterea folosind Afișați statistici. În general, acesta este un fel de raport privind securitatea unuia sau altui CAPTCHA. Dacă întrebarea este despre alegerea uneia sau altei soluții, atunci cu ajutorul TesserCap este foarte posibil să vă efectuați propriile testări.

CAPTCHA verifică rezultatul pe site-urile populare

Site-ul web și cota de captcha-uri recunoscute:

  • Wikipedia> 20-30%
  • Ebay> 20-30%
  • reddit.com> 20-30%
  • CNBC> 50%
  • foodnetwork.com> 80-90%
  • dailymail.co.uk> 30%
  • megaupload.com> 80%
  • pastebin.com> 70-80%
  • cavenue.com> 80%

Concluzie

Imaginile CAPTCHA sunt unul dintre cele mai eficiente mecanisme pentru protejarea aplicațiilor web de completarea automată a formularelor. Cu toate acestea, captcha-urile slabe vor putea proteja împotriva roboților aleatori și nu vor rezista încercărilor țintite de a le rezolva. La fel ca algoritmii criptografici, imaginile CAPTCHA, testate riguros și prevăzute cu un nivel ridicat de securitate, sunt cele mai multe cel mai bun mod protecţie. Pe baza statisticilor furnizate de autorul programului, am ales reCaptcha pentru proiectele mele și îl voi recomanda tuturor prietenilor mei - s-a dovedit a fi cel mai persistent dintre cei testați. În orice caz, nu uitați că există multe servicii pe web care oferă o soluție CAPTCHA semi-automată. Prin intermediul unui API special, transferați o imagine către serviciu, iar serviciul returnează o soluție după un timp scurt. O persoană reală (de exemplu, din China) rezolvă captcha, obținându-și propriul bănuț pentru asta. Nu mai există nicio protecție. 🙂