Kako unijeti captcha s dvije riječi. Što su CAPTCHA -e? Zaobiđite captcha pomoću javnih usluga

Za neke je postupak zahtjeva za unos captcha iznenađujući, ali zapravo je to normalna pojava na Internetu. Činjenica je da captcha je još jedan način zaštite vaše web stranice od neželjene pošte ili hakiranja. Kada je točno potrebno unijeti captcha, koja je takva zaštita, saznat ćemo odmah.

Vrlo često se kod prilikom registracije na raznim web stranicama traži unos koda. To je razumljivo, u ovom slučaju test za "humanost" je prije svega, jer vlasniku ovog resursa roboti u sustavu uopće nisu potrebni. Captcha se često traži ako istu radnju izvedete nekoliko puta zaredom. To može biti bilo što, komentari na fotografije, postove itd., Kao i slanje poruka nekolicini prijatelja odjednom. Čak se i društvenim mrežama sviđa.

U ovom drugom slučaju sustav će vjerojatno tražiti da ga uvjerite da niste robot koji želi poslati neželjenu poštu svim svojim prijateljima. Iz tog razloga, društvenim mrežama također nije dopušteno nazvati više od 50 prijatelja dnevno kako bi bili sigurni da ne prikupljate tisuće automatski u svoje svrhe, samo radi promocije ili drugog neželjenog sadržaja.

Kada moram unijeti sigurnosni kod?

Zahtjev za unos captcha može se izdati u različitim situacijama i slučajevima. To izgleda ovako: istaknut je novi prozor u kojem se slika nalazi na vrhu. Ispod su podaci koji se moraju otkriti i unijeti u prazan stupac, ispod same slike.

To obično ne traje dulje od nekoliko sekundi, pa vam ovaj postupak neće oduzeti mnogo vremena.

Donedavno je takav sustav zaštite bio doista učinkovit. No, danas se ne poboljšavaju samo metode i načini zaštite, već se i programi za zaštitu razvijaju punom parom, ažuriraju i poboljšavaju.

Sada, ako ne želite stalno unositi captcha, program koji se može besplatno preuzeti na razne poslužitelje to može učiniti umjesto vas. Postoje i plaćeni programi ove vrste. Namijenjene su onima koji se stalno bore s captchom. Za redovni korisnik bit će dovoljno preuzeti uobičajenu verziju besplatni softver, koji će automatski prepoznati kodove kada se to od vas zatraži, a vi ne morate gubiti vrijeme na njih.

Registrirajte se >>>

Koje vrste captcha postoje?

Danas postoji nekoliko vrsta captcha, s najčešćim i najjednostavnijim, vjerojatno je upoznat svaki korisnik internetskog prostora. Tako, jednostavni captcha -i su kada trebate riješiti znakove (ruski ili engleski) ili brojeve u iskrivljenom obliku, postoje kombinirane mogućnosti.

To može biti i aritmetički primjer koji morate riješiti. Ovi primjeri mogu biti različitog stupnja složenosti, ali najčešće postoje vrlo laki primjeri u jednoj radnji, kao što su: 1 + 1 ili 2-1 itd.

Najneobičniji captcha -i su slike, koje se nalaze pogrešno. Kada se od vas zatraži da unesete takav captcha, samo trebate postaviti sliku u pravom smjeru. Kad vidite ovakav kôd, odmah znate što trebate učiniti i gdje kliknuti.

Captcha je prilično zanimljiv oblik zaštite. Moramo odati priznanje programerima onih captcha za koje još nema hakerskih programa, jer se takva zaštita doista može nazvati pouzdanom. No, na taj su račun izmišljeni i neki trikovi. Koji. Saznajte sada.

Captcha ulaz kao dodatni prihod

Ispada da danas na Internetu možete zaraditi ne samo pisanjem članaka, prodajom robe i stvaranjem web stranica. Captcha tipkanje također je unosan posao. Obično početnici počinju s ovom vrstom zarade, ovaj posao ne zahtijeva iskustvo, znanje ili dodatne vještine, u ovom slučaju sve nije nigdje lakše.

Dakle, ako vas je privukla ova vrsta zarade, pogledajte detaljne upute o tome odakle započeti i kako s vremenom zaraditi još više novca u ovom poslu.

Pogledajte video - Kako zaraditi na captcha unosu:

Zaradite 💰 na mreži unosom captcha Sve što trebate je ispravno unijeti tekst sa slike (iz captcha).

Dobivate novac 💵 za svaki captcha unos.

Registrirajte se >>>

Upute za zarađivanje novca na captchama

Da biste počeli zarađivati ​​na predloženi način, morate slijediti predstavljene upute kako ne bi došlo do nepotrebnih pitanja i problema.

  1. Registrirajte se na servisu, koja je specijalizirana za ovo područje.
  2. Nakon registracije možete odmah započeti s radom, ali ne zaboravite da morate imati vlastiti račun u internetskom prostoru, gdje će vam biti pripisan novac za obavljeni posao.
  3. Pritisnite gumb - "počni" ili "počni zarađivati" i naprijed, za prihod. Sredstva će se automatski uplaćivati ​​na račun nakon svakog unosa captcha.

Ako više ili manje aktivno koristite Internet u svom svakodnevnom poslu, onda vjerojatno znate za tako neugodnu stvar kao što je captcha. Ponekad to toliko ometa rad da ljudi često jednostavno prestanu posjećivati ​​ona mjesta čiji vlasnici tome pridaju previše pažnje.

Što je?

Usput, što je captcha? Zamislite da posjećujete neku popularnu uslugu hostinga datoteka. Da biste preuzeli datoteku u besplatnom načinu rada, morat ćete unijeti određeni skup znakova (često besmislen) u posebno polje, koje bi trebalo preuzeti sa slike nasuprot.

Zadatak je kompliciran činjenicom da je ponekad nemoguće potpuno razaznati te simbole, jer su namjerno nečitljivi.

Čemu služi?

Nakon što smo shvatili što je captcha, bilo bi lijepo razgovarati o njezinoj specifičnoj namjeni. Zašto je potrebno ograditi takav povrtnjak, otežavajući slanje komentara ili preuzimanje datoteka?

Da, bilo je trenutaka kada nitko uopće nije znao za captcha. Pojavio se relativno nedavno. To se dogodilo u istom razdoblju kada se na otvorenim prostorima Runeta razmnožila masa robota uz pomoć kojih su poduzetni građani ostavljali oglase u komentarima, besplatno preuzimali datoteke i radili druge sramotne stvari.

Naravno, administratori su održavali red na mnogim resursima, ali u većini servisa za blogove opterećenje se pokazalo takvim da su se jednostavno prestali nositi. Tada su korisnici saznali što je to captcha! Poznanstvo se pokazalo prilično neugodnim.

Točnije, sama je tehnologija izvorno stvorena 2000. godine. U početku je bilo namjera samo utvrditi "humanost" vašeg sugovornika na Internetu: tada nije jednostavno izrađen niti jedan program za captcha (za njegovo prepoznavanje, točnije).

Koji mu je nedostatak?

Ako pažljivo pročitate prvi dio članka, tada možete pogoditi o većini negativnih čimbenika korištenja CAPTCHA -e sami. Prvo, većina korisnika djeluje u stanju impulsa. Jednostavno rečeno, kad vidite neki zanimljiv post u istom LJ -u, želite ga odmah komentirati.

No, suočeni ste s neprobavljivom captchom, a većina likova toliko je nečitljiva da će možda trebati više od jednog dana za njihovo rješavanje. Mislite li da će se korisnik baviti takvim nezahvalnim zadatkom?

Naravno da ne! Samo će otići na drugu stranicu. Stoga, ako nastojite zaštititi svoj resurs od onih koji vole ostavljati neželjenu poštu u komentarima, savjetujemo vam da ne budete previše revni.

Ako se previše zanesete captcha -om, brzo ćete izgubiti mnogo aktivnih korisnika. Nema korisnika - nema novca za oglašavanje. Osim toga, većina normalnih resursa automatski prepoznaje neželjenu poštu u komentarima, pa često nema smisla imati dodatnu zaštitu.

Slično se može reći i za web stranice za razmjenu datoteka. Naravno, možete razumjeti njihove tvorce: nudeći svima i besplatno preuzimajući informacije od interesa, jednostavno će propustiti zaradu.

No ista se situacija može promatrati i sa suprotne strane: ako vam web mjesto nudi mogućnost besplatne preuzimanja datoteke, lako će steći ogromnu publiku, koja će brzo nadoknaditi sve troškove privlačenjem oglašivača. Inače, upravo tako funkcionira domaći iFolder čiji se tvorci ne mogu baš požaliti na siromaštvo.

Dakle, čak i sa stajališta ostvarivanja dobiti, sama ideja captcha ne djeluje tako privlačno.

Što uraditi?

I kako ukloniti captcha, je li to uopće moguće učiniti? Ovdje je situacija prilično dvosmislena. Činjenica je da na mnogim web stranicama koje koriste ovu vrstu zaštite od neželjene pošte ne može svaki korisnik pročitati captcha prvi put, a kamoli neke aplikacije.

Jednostavne varijante mogu se prepoznati uz pomoć malog uslužnog programa Screenshot Reader, koji je uključen u programski paket ABBYY FineReader. Ali ona samo najviše čita jednostavni oblici captcha koju svaki normalan korisnik može lako identificirati. Osim toga, sam se proces ne može automatizirati jer je za prepoznavanje potrebno ručno odabrati raspon koji vas zanima.

Captcha unos

Ako nemate mnogo izbora, morat ćete se ručno pozabaviti ovim nezahvalnim zadatkom. Koji savjet možete dati? Prvo pokušajte to učiniti brže: mnoge web stranice imaju brojač koji poništava vrijednost ako je ne možete unijeti u roku od nekoliko minuta.

Osim toga, pravopisne pogreške često se javljaju kada je JavaScript onemogućen u vašem pregledniku. Ne zaboravite na potrebu za kolačićima jer će oni pomoći web stranici da vas "prepozna", eliminirajući stalni prolaz dosadne zaštite.

Na kraju, obratite pozornost na ono što je napisano na početnoj stranici web stranice. U pravilu je captcha za web stranicu detaljno opisana u objašnjenju ili u zasebnom članku. Izvrstan primjer je usluga dijeljenja datoteka Rapidshare koja je svojedobno predstavila jedinstvenu captcha.

Njegovi su se simboli lako razlikovali, nisu korištene tehnologije zamućivanja ili polarizacije koje su otežavale programima njihovo prepoznavanje. Koja je bila tajna?

A ono se sastojalo u činjenici da su na slovima i brojkama koje je trebalo unijeti u odgovarajuće polje bile mačke. Koliko je riječi u jednom trenutku bilo izraženo tvorcima takvog sustava! Na kraju je napušten pod pritiskom zajednice korisnika.

Kupujemo "protuotrov"

Druga je mogućnost kontaktirati normalnog programera (ili grupu, što je još bolje), kako bi napravio pomoćni program za prepoznavanje captcha na određenom mjestu. Nažalost, ne postoje univerzalna rješenja, barem zato što je zaštita jedinstvena na svakom resursu. Neka tipična rješenja vrlo su rijetka.

U tom smislu posebno su zanimljivi razvoj tvrtke CMS Bitrix koja distribuira zaista učinkovite programe koji se nose s captcha -ima na najpopularnijim web stranicama. Programeri tvrde da je učinkovitost njihovog stvaranja unutar 95%. Ovisno o vrsti zaštite, njezinoj složenosti i specifičnom mjestu, razvoj metoda zaštite može vas koštati nekoliko tisuća dolara, pa čak i više.

Osim toga, neki resursi imaju tako sofisticiranu zaštitu da to osobi nije lako riješiti!

Je li moguće zaraditi ulaskom u nju?

Novopridošlice često zanima može li se na neki način zaraditi unošenjem zaštitnih znakova. I to ne čudi, jer je internet prepun oglasa o regrutiranju skupina ljudi koji će primiti nešto novca izvođenjem prepoznavanja captcha. Trebam li se uključiti u ovo?

Po našem mišljenju (možda prilično subjektivno), ne vrijedi se baviti ovim poslom. Potrošit ćete ogromnu količinu živaca, energije i prometa. A plaćanje takvog "lakog novca" jednostavno je nevjerojatno: nakon što ćete cijeli dan sjediti za računalom, uz manijakalnu upornost u vožnji u captcha -i zaradit ćete najviše par dolara. Trebaš li to? Vjerojatno ne.

Univerzalni izlaz

Ako govorimo o hostingu datoteka, onda ako redovito učitavate datoteke, jedini siguran izlaz iz situacije je kupnja plaćenog računa. U pravilu, njegova cijena je sasvim odgovarajuća. Kupnjom takve pretplate moći ćete brzo i bez neugodnosti preuzeti bilo koju količinu podataka.

Kako ukloniti captcha sa svog bloga?

Nadamo se da ste donijeli ispravne zaključke nakon što ste pročitali većinu našeg članka. Stoga ćemo razmotriti kako ukloniti captcha unos na popularnoj usluzi Blogger s ozloglašenog. To nije teško učiniti, a posjetiteljima vaše web stranice donijet ćete mnogo radosti.

Prvo idite na "Uređivač" svoje stranice. U lijevom stupcu odaberite stavku "Postavke". Ima odjeljak "Poruke i komentari". U polju "Koristi provjeru riječi" postavite vrijednost "ne", nakon čega captcha neće biti potrebna pri unosu poruka.

Što ako ga ne možete unijeti ispravno?

Događa se da program za unos captcha ili samog web mjesta (ako vrijednosti unesete ručno) stalno daje pogrešku. Što bi mogao biti razlog?

Prije svega, morate se smiriti. U pravilu, s desne strane bilo kojeg CAPTCHA -e nalazi se zakrivljena strelica. Klikom na nju ažurirat ćete skup znakova koji trebate unijeti za pristup web mjestu. Pomoću nje možete promijeniti potpuno nečitljiv skup. Nažalost, nečitljiva slova su vrlo česta. Dakle, ponekad se razlika između slova "Q" i "G" potpuno ne razlikuje.

Konačno, na mnogim web mjestima možete izbjeći upisivanje sigurnosnih znakova jednostavnom registracijom. Isprobajte i ovu metodu.

To je ono što je captcha!

Pozdrav svima. Najvjerojatnije već znate što je captcha, možda ste je tek vidjeli, ali niste znali naziv ove krivulje i dosadnu sliku koja se mora unijeti na svakom koraku. Dakle, za one koji nisu znali, ovo je captcha.

Je li automatski generirani test za provjeru je li korisnik čovjek ili računalo. U velikoj većini slučajeva radi se o iskrivljenom natpisu slova i / ili brojki. Mogu se pisati u različitim kombinacijama boja pomoću šuma, zakrivljenosti, preklapanja dodatnih redaka ili proizvoljnih oblika.

Svrha i funkcija captcha

Zašto vam je potreban captcha unos jer može odbiti korisnike?
Na primjer, u voljenoj društvenoj mreži VKontakte mora se unijeti ako broj radnji u određenom vremenskom razdoblju prelazi dopušteni parametar. Grubo rečeno, ako šaljete 50 poruka zaredom u razmaku od 1 sekunde, tada će se zasigurno pojaviti captcha jer ćete biti osumnjičeni za neželjenu poštu. A neželjena pošta, kao što znate, uglavnom su roboti koji ne mogu (prema zamisli autora) unijeti tekst sa slike. U skladu s tim, ovo je prisilna mjera koja štiti resurse od neželjene pošte i povećanog opterećenja kada ih napadnu botovi.

Međutim, captcha ne pomaže uvijek jer za svaku bravu možete pronaći ključ, inače je ova bravica jednostavno slomljena i beskorisna. Većina crteža može se prepoznati od strane neuronskih mreža, prethodno ih obučivši na brojnim (nekoliko desetaka, pa čak i stotinama tisuća) primjera. Ove primjere pripremaju volonteri koji danima sjede i voze captchase uz malu naknadu. Kako ne bi bili neutemeljeni, evo primjera iz habrahabra o hakiranju Yandex captcha. Postoje i posebne usluge kao što je antigate koje pružaju uslugu prepoznavanja. Imaju ogromnu gotovu bazu primjera, a oni slučajevi koji još nisu u bazi prepoznaju se ručno.

Primjeri captcha, slučajevi upotrebe

Možda se možete sjetiti nečega što nije toliko dosadno poput skakanja i preskakanja teksta / brojeva? Da, naravno da se toga možete sjetiti. I štoviše, oni su to već smislili. Sada ću vam pokazati primjere captcha koji ne smetaju toliko posjetiteljima. Krenimo od standardnog - teksta.

Pređimo sada na zanimljivije primjere. To uključuje captcha, gdje morate postaviti 3 slike okomito. Po mom mišljenju, ovo je jedna od najuspješnijih varijacija na ovom području, jednostavno zato što nije dosadna, već naprotiv, zadivljujuća je i pomalo zabavna. To čak nije ni captcha ulaz, već samo mini igra.

Nadalje, želio bih reći nekoliko riječi o matematičkoj captcha. Može biti jednostavno ili složeno. Osobno mi se sviđa CAPTCHA, gdje morate zbrajati ili oduzimati dva broja. Ovo je mnogo prikladnije od sjedenja i raščlanjivanja zakrivljenog teksta. Međutim, ako malo pređete preko složenosti, mogu se pojaviti problemi.

I na kraju, opasan primjer zamišljene sigurnosti, captcha - "stavi kvačicu". Mnogi misle da je to dovoljno, ali ne sumnjaju da je vrlo lako programski označiti okvir i naučiti robota da to učini - to je pitanje 1 minute. Doista, u ovom slučaju captcha se ne unosi kao takva, već se parametar CheckBox'a mijenja.

Sada znate što je captcha i imate predodžbu o tome što oni mogu biti.

  • ručno hakiranje CAPTCHA -e (haker proučava specifičnu implementaciju captcha -a i bira načine za njezino hakiranje);
  • korištenje posebnih programa (robota), uz pomoć kojih se organiziraju masivni automatizirani napadi na više web stranica istovremeno (u pravilu razvijeni na istoj platformi ili s istim captcha -ovima, do kojih su hakeri uspjeli pronaći " ključevi ");
  • iskorištavanje rada stvarnih ljudi.

Motivi napadača pri razbijanju captcha mogu biti vrlo različiti, u rasponu od banalne zavisti i osvete, do širenja neželjene pošte i stjecanja kontrole nad cijelim resursom pomoću SQL injekcije i drugih mehanizama.

U pravilu, svi masovni captcha zaobilazi započinju ručnim hakiranjima. To se događa, u pravilu, po narudžbi ili iz znanstvenog interesa, a takvi su napadi usmjereni na određene implementacije CAPTCHA -e.

I tada se već stavljaju na potok, t.j. organiziraju se automatski pomoću robotskih programa (botova).

Pa, u slučajevima kada je nemoguće programski izbjeći captcha, CAPTCHA se ručno unosi radom stvarnih ljudi koji šalju te podatke napadaču ili rješavaju captcha u stvarnom vremenu zahvaljujući API -ju.

Dakle, alati i motivi hakera su se sredili. Pogledajmo sada najčešće načine zaobilaženja CAPTCHA -e, razvrstavajući ih u dvije skupine: one koje su moguće zbog grešaka programera u implementaciji CAPTCHA -e i one za koje se koriste suvremene tehnologije.

Počnimo redom, a ja ću ih pokušati poredati uzlazno po složenosti zaštite od njih, počevši od najprimitivnijih i završavajući s onima protiv kojih još nisu izmišljene metode zaštite.

Za stvaranje intriga, reći ću da su na ovaj trenutak postoje tri.

Zaobići captcha zbog pogrešaka implementacije

Ako pitate tvorce vlastitih implementacija CAPTCHA -e o tome kako zaobići captcha, reći će vam barem nekoliko načina. No, najzanimljivije je to što oni sami ponekad ostavljaju prozore i vrata u svojim kreacijama da ih razbiju.

To se često događa krivicom ljudskog faktora, točnije uobičajene nepažnje tijekom razvoja i nedovoljne temeljitosti pri testiranju sigurnosti captcha.

No, ponekad se dogodi i neiskustvo, zbog čega programer jednostavno nije znao za neke metode zaobilaženja captcha u vrijeme razvoja.

Kao što sam obećao, u ovom odjeljku razmotrit ću najčešće, kao i načine zaštite od njih. I krenimo, kao što je obećano, od samog primitiva.

Zaobiđite captcha s fiksnim skupom zadataka

U osvit pojave captcha kao sredstva borbe protiv robota, captcha koje su sami napisali bile su vrlo popularne, jer svi su htjeli probati nova tehnologija, i kao rezultat toga, svi su izmislili captche.

U slučaju korištenja samostalno napisanih captcha, u čijoj su se implementaciji programeri odlučili ne zamarati velikom bazom slika, pitanja ili drugih vrsta zadataka, za ciljani automatski napad na web mjesto s takvim CAPTCHA-om, samo trebate morate saznati odgovore u ručnom načinu rada.

Oni. odlazimo na takvo mjesto, odabiremo odgovore, sastavljamo bazu zadataka i točna rješenja te pišemo robota za brute force napade koji će odabrati odgovarajuće opcije.

No, na sreću, u suvremenom svijetu nema mnogo takvih situacija, jer kibernetička je sigurnost od tada dosegla vrlo solidnu razinu i nitko nije uključen u stvaranje takvih primitiva.

A ako postoje takvi ljudi, oni vrlo brzo uče iz svojih grešaka kada izgube kontrolu nad svojom web stranicom ili nad klijentima koji su hakirani zbog takvih kreacija.

Zaštita: nikada ne stvarajte captchas sa skupom problema, rješenja koja možete preuzeti ručno. Ako za rješavanje captcha trebate riješiti bilo koji matematički primjer ili unijeti simbole sa slike, tada bi se zadaci i odgovori na njih trebali generirati automatski.

Drugi način zaštite od takvog automatskog captcha unosa je promjena naziva polja obrasca u koje treba unijeti odgovor. Na primjer, ako će naziv polja uvijek biti "captcha", napadaču će biti lakše razbiti takav captcha. Njegov robotski program samo će poslati zahtjev skripti poslužitelja navedenoj u HTML "radnji" atributa obrasca, koji sadrži potrebnu vrijednost captcha.

Ako je u ovoj situaciji naziv polja captcha cijelo vrijeme isti, tada će haker jednostavno upotrijebiti bazu najčešćih naziva polja captcha, koja se mogu samostalno sastaviti prilikom proučavanja različitih web stranica ili preuzeti gotova s specijalizirane resurse (neću ih navoditi za promicanje hakiranja).

Ako će naziv polja, kao i zadatak za prosljeđivanje samog captcha, biti generiran na poslužitelju, tada nikakva baza naziva captcha neće pomoći. Kako bi se koristio naziv dinamičkog polja, u praksi se jedna skripta generira, a druga obrađuje.

U ovom slučaju implementacija captcha ima jednu značajnu nijansu: skripta koja obrađuje ispravnost unosa morat će nekako prenijeti naziv captcha polja. To se najčešće radi pomoću skrivenog unosa obrasca, atributa podataka ili prolaska kroz kolačiće ili sesiju.

Ključna je točka to što ne možete izravno prenijeti ime, odnosno polje captcha naziva se "captcha_mysite", a skriveno polje sadrži vrijednost "captcha_mysite" ili "site". Mora biti šifriran, a dešifriranje se mora obaviti istim algoritmom kao i šifriranje.

Budući da će algoritam šifriranja biti pohranjen na poslužitelju, napadač ga ne može jednostavno prepoznati (samo ako ne dobije pristup sadržaju poslužiteljske skripte).

Usput, dovoljno je umjesto naziva polja koristiti nasumični niz znakova, što je vrlo jednostavno dobiti u PHP -u ​​pomoću funkcije uniqid ().

Zaobilaženje captcha pomoću sesija

Ako implementacija captcha podrazumijeva spremanje točnog odgovora u sesiju, a sesija se ne stvara ponovno nakon svakog unosa captcha, tada napadači mogu saznati identifikator sesije i saznati šifriranu vrijednost CAPTCHA.

Tako mogu lako odabrati algoritam za šifriranje i koristiti ga za daljnje automatizirane napade grube sile pomoću robota.

Također, ako u kodu za provjeru odgovora korisnika na poslužitelju programer ne provjerava prazninu varijable sesije u kojoj se prenosi odgovor korisnika, tada haker može upotrijebiti nepostojeći identifikator sesije za koji će varijabla jednostavno ne postoji.

Zbog tog propusta, takve se captcha mogu prenijeti klizanjem nepostojećih id sesija i prazne vrijednosti captcha.

Zaštita: bez obzira koliko želite prestati koristiti sesije za prijenos captcha vrijednosti, ovo je vrlo visoka cijena koja osigurava sigurnost captcha od hakiranja. Stoga sesije, vrijednosti njihovih varijabli i identifikatora jednostavno moraju biti pažljivo zaštićene kako haker ne bi mogao koristiti podatke pohranjene u njima.

Također je vrijedno učiniti sve trivijalne, ali tako potrebne provjere varijabli za postojanje i prazninu njihovih vrijednosti.

Hakiranje captcha zbog tajnih podataka u kodu klijenta

Ponekad su captcha napravljene na takav način da prilikom prijenosa korisničkih vrijednosti na poslužitelj koriste šifriranje pomoću tzv. "Soli", tj. dodavanje ID -a sesije, IP vrijednosti ili drugih jedinstvenih podataka u vrijednost CAPTCHA. Često to može biti jednostavan slučajan niz znakova.

A glavni uvjet za rješavanje captcha je podudarnost šifrirane CAPTCHA vrijednosti koju je unijeo korisnik s njezinom ispravnom vrijednošću koja je generirana prilikom otvaranja stranice i snimljena u sesiji ili drugoj pohrani za daljnji prijenos na poslužitelj.

Podudarnost ovih vrijednosti najvjerojatnije će ukazivati ​​na to da je korisnik stvarna osoba koja je unijela captcha generiranu tijekom komunikacijske sesije, na kraju koje je to riješila i s istog računala na kojem je prvi put vidjela captcha.

Ako se te jedinstvene vrijednosti ne podudaraju, najvjerojatnije je robot automatski unio captcha.

Ovaj mehanizam za zaštitu web mjesta od robota dobro je osmišljen, ali ponekad su te tajno generirane vrijednosti prisutne u HTML kodu stranice odakle se mogu lako pročitati. Stoga možete konfigurirati njihovo automatsko čitanje pomoću programa i isti automatski unos pri prijenosu captcha.

Zaštita: Prilikom implementacije CAPTCHA -e morate sami uzeti u obzir ovu povredu sigurnosti, a ako trebate uzeti u obzir vrijednost nekog jedinstvenog identifikatora za rješavanje CAPTCHA -e, morate se pobrinuti da se ne spomene niti u JS -u niti u u HTML kodu koji se može vidjeti u pregledniku.

Također morate ponovno stvoriti ID sesije i generirati druge jedinstvene vrijednosti (uključujući i sam CAPTCHA, ako je moguće) nakon svakog pokušaja unosa CAPTCHA, što će vas spasiti ili barem zakomplicirati zadatak hakera da hakiraju web mjesto automatski odabire ispravnu vrijednost.

Drugi način zaštite je, ako je moguće, blokiranje radnji putem IP -a i broja pokušaja.

Kako zaobići captcha bez promjene IP -a

Napad grubom silom učinkovit je način zaobilaženja captcha, ne samo u slučajevima njegove provedbe s fiksnim skupom zadataka i njihovim rješenjima.

Još jedna pogreška u implementaciji CAPTCHA -e, koja je čini ranjivom na automatizirane napade, je nedostatak vremenskih ograničenja za rješavanje CAPTCHA -e i broj pokušaja.

U tom će slučaju biti moguće zaobići captcha pomoću poseban program, koji će prikupiti bazu pitanja ili odabrati odgovore s postojećeg popisa. Štoviše, sve će se to učiniti automatski zahvaljujući suvremenim metodama strojnog učenja i razvoju na području umjetne inteligencije, koji su posljednjih godina učinili veliki iskorak.

Zaštita: pri implementaciji doista sigurnog captcha, morate ograničiti vrijeme odziva i broj pokušaja rješavanja captcha s jednog IP-a kako biste blokirali brutalne napade robota.

Na primjer, ako je između generiranja captcha i odgovora korisnika prošlo manje od 2 sekunde, smatrajte takvog korisnika robotom i prikazite odgovarajuću poruku na zaslonu. Tekst poruke trebao bi sadržavati upute stvarnim korisnicima da se unos ne smije vršiti tako brzo (u slučaju da je osoba fizički bila u mogućnosti brže unijeti odgovor).

Ako je doista riječ o osobi, tada će poduzeti odgovarajuće mjere, a ako je robot, nastavit će pokušavati zaobići captcha.

Takve pokušaje treba smatrati netočnim, fiksirajući njihov broj u varijabli sesije i blokirajući daljnje radnje za korisnike prema njihovom IP -u. Neće biti suvišno da takve blokirane adrese umjesto captcha pošalju poruku da se obrate administratoru ako je blokirani korisnik stvarna osoba.

Drugi učinkovit način borbe protiv robota je nametanje ograničenja za određene radnje na web mjestu. Na primjer, jedna registracija s jednog IP -a. Ovdje je najvažnije ne koketirati i ne doseći ograničenja u broju komentara za jednog jedinstvenog korisnika.

Ali istini za volju, ove mjere će malo pomoći zahvaljujući postojanju proxy poslužitelja.

Zaobilaženje captcha pomoću proxyja

Čak i u situacijama kada blokiranje veliki broj Pokušaji rješavanja captcha putem IP -a i dalje se događaju, ovaj događaj ne pruža 100% zaštitu od robota.

Za sve su krivi proxy poslužitelj i programi za anonimizaciju koji rade na njihovoj osnovi, što možda svi znaju o suvremeni školarac traže rješenja roditeljska kontrola i blokiranje zabranjenih web stranica.

Anonimizatori vam omogućuju skrivanje računalnih podataka prilikom korištenja web stranice, uključujući željenu IP adresu, na kojoj se klijent može izračunati i blokirati.

Shema je jednostavna: korisnik se povezuje s proxy poslužiteljem, gdje su njegovi podaci šifrirani ili zamijenjeni drugim (na primjer, može vam se dodijeliti IP adresa druge zemlje), a zatim se šalje zahtjev ciljnom mjestu na koje klijent se želi povezati.

Tako će napadač lako zaobići sve vaše blokiranje IP -a i izabrati ispravno rješenje za captcha koliko god mu je potrebno.

A na nekim web stranicama na kojima se captcha pojavljuje samo kada se izvrši veliki broj istih radnji (na primjer, u VK -u kada se doda veliki broj prijatelja), možda se uopće neće pojaviti ako se svaka radnja izvrši s novog IP -a i promatranje vremenskih ograničenja između pokušaja rješavanja captcha, tako da je ponašanje robota slično ponašanju stvarne osobe.

Ova metoda korištena je prije pola stoljeća pri pisanju prvih programa kako bi prošli Turingov test čija je implementacija CAPTCHA.

Opisane principe, inače, koriste svi trenutno poznati programi za automatski captcha unos. Za promjenu IP adrese povezivanja na web mjesto koriste besplatne i komercijalne baze podataka proxy poslužitelja do kojih, uz prisutnost Interneta, neće biti teško doći.

Zaštita: Nažalost, zbog prisutnosti anonimizatora i otvorenih PROXY baza podataka, neće biti moguće zaštititi se od hakiranja captcha praćenjem cyber kriminalaca putem IP -a.

Jedina nada je da sami PROXY poslužitelji mogu nametnuti ograničenja na broj IP -ova koje koristi jedan korisnik i broj veza sa svakog od njih.

Iz tog razloga ne biste trebali potpuno preskočiti provjeru IP -a. Zahvaljujući vašim mjerama opreza protiv captcha zaobilaženja, prije ili kasnije bit će moguće blokirati hakera na jednoj ili drugoj razini.

I najispravniji zaključak u ovoj situaciji bio bi korištenje, osim ove metode zaštite od captcha hakiranja, i drugih koji pomažu razotkriti hakera na drugačiji način.

Captcha unos automatski pomoću emulatora radnji

Ako za prolazak CAPTCHA -e morate izvršiti određenu radnju (klik na gumb, pomicanje klizača itd.), Tada možete i zaobići captcha u ovoj situaciji simuliranjem potrebne radnje (klik na određeni upravljački element ili neku drugu radnju).

Jedini problem s kojim se haker može suočiti u ovoj situaciji je kako programski pronaći pravu kontrolu na web mjestu.

Najlakši način za to je po njegovim koordinatama ili položaju u odnosu na neke statičke elemente izvora.

Zaštita: kako biste se zaštitili od automatskog unosa captcha, u ovom slučaju morate stalno mijenjati položaj kontrole koja vam omogućuje rješavanje CAPTCHA -e. Oni. ako od tri osobe trebate odabrati samo onu s podignutom rukom, ni u kojem slučaju ne smije se stalno stavljati na isto mjesto.

Pa, u slučajevima drugih implementacija CAPTCHA -e, kada je to nemoguće (na primjer, za gumb za preuzimanje ili polje "Ja nisam robot", koje može imati samo jedan točan odgovor), potrebno je koristiti druge metode zaštite koje može spriječiti robote da automatski rješavaju CAPTCHA.

Kako zaobići captcha pomoću visoke tehnologije

Uzeli smo u obzir slabosti implementacije CAPTCHA -e, koje su sigurnosne rupe i najčešće su u praksi. Međutim, u praksi čak i najsavršeniji captcha -i ponekad nisu u mogućnosti zaštititi resurs koristeći ih od hakerskih napada.

Ovi slučajevi hakiranja captcha izravna su posljedica suvremenog napretka i razine razvoja. računalna tehnologija, koji se, kao što znate, ne koriste uvijek u dobre svrhe.

Dakle, kako izbjeći korištenje captcha moderne tehnologije?

Zaobići captcha s OCR -om

OCR (optičko prepoznavanje znakova) je tehnologija za prepoznavanje tiskanog ili pisanog teksta za daljnju uporabu u elektroničkom obliku. Najpoznatiji softver koji implementira ovu tehnologiju je Adobe FineReader.

Uspješno se koristi pri izradi automatskih programa za unos captcha koji uspješno prepoznaju i rješavaju grafičke captcha -e, za koje morate unijeti niz znakova prikazanih na slici.

Hakeri, naravno, ne koriste Adobe FineReader (iako može postojati neki 🙂), već pišu posebne skripte koje, koristeći različite gotove biblioteke za rad sa slikama ili koristeći mogućnosti jezika za rad s grafikom, prepoznaju captcha i dati niz znakova, prikazan na njemu.

Na internetu sam našao dovoljan broj primjera takvih skripti. Princip njihovog rada bio je sljedeći:

  • čišćenje slike koja se koristi u grafičkim CAPTCHA -ama od različitih šumova;
  • razdvajanje prikazanog retka na zasebne znakove;
  • usporedba svakog od njih s pripremljenom slikom (uzorak).

Grafički uzorci pripremljeni su uzimajući u obzir različite fontove i moguća izobličenja (nagibi, rotacije itd.).

Kao što ste možda pretpostavili, najvažnije je sastaviti bazu slika sa simbolima u različitim varijacijama, s kojima će se kasnije usporediti captcha simboli.

Zaštita: zapravo, kako bi se zbunili OCR programi, koriste se svi dosadni šumovi i izobličenja likova na slikama, zbog čega je tekst ponekad teško raščlaniti čak i za osobu. No, u slučaju robota i to dobro funkcionira, zbog čega OCR algoritmi ne mogu dati 100% točan rezultat, što ima pozitivan učinak na sigurnost captcha i web stranica koje ga koriste.

Odlučite li se koristiti grafičke captcha -e, za čiji prolaz trebate unijeti znakove prikazane na slici, morate slijediti sljedeće preporuke:

  1. Znakovi na različitim CAPTCHA -ima moraju imati različite koordinate.
  2. Ako za stvaranje pozadine koristite neku vrstu efekata šuma, tada se njezina boja mora podudarati s bojom znakova, u protivnom se pozadina može lako ukloniti označavanjem znakova radi prepoznavanja.
  3. Udaljenost između znakova treba biti minimalna. Možete ih čak postaviti jedan na drugi, ali samo bez fanatizma, tako da ih stvarni korisnici mogu prepoznati.
  4. Upotrijebite različite fontove kako biste otežali pronalaženje pravog za prepoznavanje.
  5. Iskrivite simbole na svaki mogući način, promijenite njihov stil i debljinu.
  6. Koristite posebne knjižnice koje vam omogućuju promjenu simbola na takav način da neće biti moguće odabrati font za prepoznavanje programa. Primjer takvog rješenja je captcha od tvorca resursa captcha.ru, koja se generira pomoću autorovog algoritma izobličenja znakova nalik valovima.

Sve ove mjere omogućuju kompliciranje prepoznavanja grafičkog captcha za OCR sustave i smanjenje broja automatskih captcha ulaza.

Kako prenijeti captcha pomoću neuronskih mreža

Ako je OCR prilično stara tehnologija (prvi patentirani uređaji poznati su početkom 20. stoljeća), tada su se umjetne neuronske mreže (ANN) pojavile tek u drugoj polovici prethodnog stoljeća (za tehnologije je 50 godina značajna dob 🙂).

ANN algoritmi temelje se na umjetnoj inteligenciji (AI), čija je svrha stvaranje programa i uređaja obdarenih kreativnim funkcijama, tj. stvaranje osobe koju je stvorio čovjek.

Trenutno se umjetna inteligencija neprestano razvija, a svakim danom pojavljuje se sve više izuma koji su dosad imali neviđena svojstva.

Na posljednjoj konferenciji o neuronskim mrežama kojoj sam prisustvovao izviješteno je da je Google, koji se aktivno razvija u ovom području, već objavio javno dostupnu cloud usluge djeluju na temelju ANN -a.

Uz njihovu pomoć možete:

  • prepoznati objekte na fotografijama (od spola prikazane osobe i marke njegovih traperica kojoj igri pripada analizirana slika, sa cijelom paletom boja, nazivom lokacije i onim što se na njoj događa);
  • upravljački uređaji glasom i pokretima;
  • pisati video napomene na temelju onoga što se događa u videu itd.

Naravno, s obzirom na te mogućnosti, stvaranje programa za automatski unos captcha prema ANN načelima nije teško za upućene ljude.

Jedan takav proizvod Vicarious je razvio 2014. godine. Neuronska mreža koju je razvila sposobna je prepoznati CAPTCHA u 90% slučajeva (zapamtite da vam je za rješavanje klasičnog Turingovog testa, a to je CAPTCHA, potrebno samo 1% točnih odgovora).

Zaštita: Nažalost, nemoguće se obraniti od ove vrste napada. Srećom, od tada se Vicarious ANN neće koristiti za ciljane napade kako bi se zaobišao captcha na web stranicama preskup je za tako male zadatke (sami proizvođači kažu da se radi o skupu mnogih poslužitelja). Njegovo glavno područje primjene je rješavanje različitih problema medicine i robotike.

Hakiranje captcha -a uz njegovu pomoć samo je demonstracija mogućnosti.

No vrijeme prolazi, tehnologije koje su jučer bile skupe postaju sve jeftinije, a nije ni vrijeme kada će ANN proizvodi postati sveprisutni. Stoga je sasvim moguće da će u budućnosti postojati botovi za automatski unos captcha, obdareni umjetnom inteligencijom.

Zaobiđite captcha pomoću javnih usluga

Razvojem OCR i AI sustava, mjere kompliciranja grafičkih captcha postajale su sve složenije, što je njihovim programerima omogućilo ogromne napore u implementaciji. Ali svejedno, pokazalo se da su bili uzaludni, tk. nisu osigurali 100% zaštitu web mjesta od automatiziranih napada.

Stoga je Google krenuo, kako mi se čini, na pravi put i odlučio jednostavno izmisliti novi standard noCAPTCHA, odbivši ručno unijeti znakove sa slika.

Prilikom razvoja reCAPTCHA -e noCAPTCHA -e korišteno je iskustvo borbe protiv robota u doba početka captcha -e i suvremeni razvoj na području umjetne inteligencije, što omogućuje osiguravanje odgovarajuće razine sigurnosti web mjesta, ali i ne uvelike komplicira život korisnika Interneta. .

No unatoč činjenici da ovog standarda pojavila se nedavno, 2015. godine, već je pronađen način za automatsko rješavanje. I ne radi se o upotrebi umjetne inteligencije.

Sve je mnogo uobičajenije - za prolaženje Google reCAPTCHA dovoljno je koristiti Googleove vlastite usluge prepoznavanja slike i govora.

Prepoznavanje slika u slučaju reCAPTCHA v2 (isti noCAPTCHA) vjerojatno neće pomoći, jer za grafičke zadatke morate odabrati slike na kojima su potrebni objekti, a ne unijeti prikazane likove, kao što je to bio slučaj u prethodnoj verziji.

No, usluge Googleove usluge prepoznavanja govora, što je jedno od Googleovih postignuća na području umjetne inteligencije, koje su spomenute u prethodnoj metodi zaobilaženja captcha, bit će vrlo korisne. Budući da usluga pruža API, nije teško izraditi aplikaciju na temelju nje.

Zaštita: nažalost, u ovoj situaciji, kao i u prethodnoj, gdje se ANN koristio za zaobilaženje captcha, neće biti moguće zaštititi se od captcha bypass -a. Jedina pozitivna točka ponovno je relativna dostupnost odgovarajućih usluga, budući da Google za testiranje daje samo 300 USD za njihovu upotrebu.

Nakon njihovog završetka usluge se plaćaju. No, za hakere to vjerojatno neće biti smetnja, tk. mogu zaraditi još više na napadima koji koriste automatski captcha unos.

Dakle, u slučaju korištenja usluga prepoznavanja govora i slike za hakiranje captcha, nada ostaje samo na budnosti njihove administracije, koja može blokirati račun ako utvrdi da se koristi isključivo u opisane svrhe.

Kako prenijeti captcha pomoću ljudskog rada

Na kraju popisa načina zaobilaženja captcha -a odlučio sam smatrati neprikladnim za bilo koju od gore navedenih kategorija.

Ne temelji se na iskorištavanju ranjivosti u implementaciji CAPTCHA -e i uporabi suvremenih tehnologija, već se temelji na prirodnoj ljudskoj želji za zarađivanjem novca.

I u isto vrijeme, ovuda pomaže razbiti captcha bilo koje složenosti u 100% slučajeva i, štoviše, to učiniti bez posebnih financijskih, fizičkih i moralnih napora.

Govorimo o jednom od modernih načina zarađivanja novca - koji se, usput rečeno, pojavio u vrijeme kada je CAPTCHA postalo teško programski prepoznati.

Njegova bit leži u činjenici da se stvara posebna usluga koja navodno omogućuje ljudima da zarađuju novac (uglavnom mali, što može biti dovoljno samo Indijancima ili školarcima koji traže bilo koji način da dođu do novca) ručnim rješavanjem captcha.

Svatko kome trebaju njihova rješenja može pružiti ove captcha -e.

U osnovi, to su hakeri koji odgovore stvarnih korisnika koriste u svoje sebične svrhe:

  • automatizacija zarade;
  • slanje neželjene pošte;
  • kupnja karata i robe u internetskim trgovinama radi skuplje preprodaje;
  • hakerske stranice itd.

Radi prikladnijeg procesa, usluge čak pružaju API, zahvaljujući kojem se prolaz captcha može provesti na mreži. Oni. korisnik unosi captcha putem usluge, a u ovom trenutku njegov odgovor se koristi za potvrdu internetske kupnje.

Usput, mnogi vješti u području programiranja mogu koristiti ljudski rad apsolutno besplatno. Na primjer, na ovaj način vlasnici porno web stranica, dijeljenja datoteka, bujica i drugih sumnjivih resursa koji pružaju besplatne usluge zarađuju za život.

Oni, navodno besplatno, korisnicima pružaju vrijedne sadržaje, tražeći od nas puku sitnicu - da potvrde da ste čovjek, a ne robot, uz pomoć kojih kibernetički kriminalci koriste svoje proizvode u vlastite svrhe.

Naravno, ne razmišljamo dugo, tk. dobiti priliku za preuzimanje dugo očekivanog filma u HD kvaliteti apsolutno besplatno za stavljanje čeka u polje "Nisam robot" samo je sitnica. U međuvremenu, vaša API radnja koristi se za zaobilaženje captcha na drugoj web lokaciji treće strane.

Otuda moral: uvijek se toga sjećajte besplatni sir samo u mišolovci i ništa nije besplatno.

Zaštita: nažalost, danas je ovo najučinkovitija metoda zaobilaženja captcha, od koje nema lijekova. A neće biti sve dok onima koji žele zaraditi novčić teškim radom i ljubiteljima besplatnih sadržaja, odnosno, najvjerojatnije - nikada, neće ponestati.

Zaobilaženje captcha - zaključci

Tijekom pisanja ovog članka došao sam do zaključka da je captcha, unatoč izvrsnoj ideji s kojom je zamišljena, naime, zaštiti web mjesta od robota, odavno prestala ispunjavati svoje funkcije.

Ako se i dalje možete zaštititi od automatiziranih zaobilaženja captcha -a koje iskorištavaju slabosti u implementaciji CAPTCHA -e uklanjanjem svih problema s njihovom sigurnošću, tada je jednostavno nemoguće zaštititi se od unosa captcha -e stvarnih korisnika za novac.

U cijeloj ovoj situaciji jedino nas spašava to što oni plaćaju smiješan novac za ovu vrstu posla i malo ljudi pristaje na to, pa razmjeri kibernetičkih napada pomoću automatskog unosa captcha nisu toliko katastrofalni koliko bi mogli biti.

Također, tehnologije umjetne inteligencije, koje su se aktivno razvijale posljednjih godina, među "su nepobjedivim" metodama zaobilaženja captcha.

Istodobno, kako bi komplicirali život hakerima, captchas se stalno "napuhuju" novom funkcionalnošću, zbog čega njihov prolaz postaje težak i dosadan zadatak čak i za stvarne korisnike web mjesta.

Zapamtite isti Google reCAPTCHA: potvrdite okvir, ako se Googleu nešto ne sviđa, odaberite drugo i potrebne slike(s prometnim znakovima, inače, i dalje imam problema, jer takav zadatak mogu proći iz oko 5 pokušaja). Ima li puno buke oko ostavljanja komentara ili registracije na web mjestu? Lakše je pronaći drugi resurs ...

No, unatoč tim mjerama opreza, trenutno se captcha ne može nazvati besprijekornim načinom zaštite od robota, zbog čega ga mnogi kritiziraju i pokušavaju tražiti alternative.

Istodobno, činjenica da se CAPTCHA i dalje koristi kao tehnologija kibernetičke obrane i da se stalno razvija, uključujući i Google, koji neće ulagati u sumnjive projekte, sugerira da će ta tehnologija postojati još dugo.

Stoga je pri razvoju i održavanju postojećih web stranica koje koriste captcha potrebno aktivno koristiti zacrtane preporuke kako bi hakerima što više otežali život da ih programski hakiraju.

I ne zaboravite podijeliti svoja razmišljanja o postojećim načinima zaobilaženja captcha i zaštitnih mjera od njih u komentarima ispod članka 🙂

p.s.: ako trebate web mjesto ili trebate urediti postojeće, ali za to nemate vremena i želje, mogu vam ponuditi svoje usluge.

Više od 5 godina iskustva profesionalni razvoj web stranice. Raditi sa PHP, OpenCart, WordPress, Laravel, Da, MySQL, PostgreSQL, JavaScript, Reagirati, Kutni i druge tehnologije za razvoj weba.

Iskustvo u razvoju projekata različitih razina: odredišne ​​stranice, korporativne web stranice, Mrežne trgovine, CRM, portali... Uključujući podršku i razvoj HighLoad projekti... Prijave šaljite e -poštom [zaštićena e -pošta].

Postoje različiti načini zaobilaženja CAPTCHA -a koje štite web stranice. Prvo, postoje posebne usluge koje koriste jeftin ručni rad i nude rješavanje 1000 captcha doslovno za 1 USD. Alternativno, možete pokušati napisati inteligentni sustav koji će prema određenim algoritmima sam izvršiti prepoznavanje. Potonji se sada može implementirati pomoću posebnog uslužnog programa.

Riješite CAPTCHA

Prepoznavanje CAPTCHA-e često je beznačajan zadatak. Potrebno je primijeniti puno različitih filtera na sliku kako bi se uklonili izobličenja i smetnje, što programeri žele pojačati otpornost na zaštitu. Često morate implementirati sustav za obuku temeljen na neuronskim mrežama (usput, to nije tako teško kao što bi se moglo činiti) kako biste postigli prihvatljiv rezultat za automatizirano rješenje captcha. Da biste razumjeli o čemu govorim, bolje je podići arhivu i pročitati divne članke “Hakiranje CAPTCHA -e: teorija i praksa. Razumijevanje načina na koji se captcha razbijaju "i" Zavirimo i prepoznajmo. Hakiranje Captcha filtera ”s brojeva # 135 i # 126. Danas vam želim reći o razvoju TesserCapa, koji autor naziva univerzalnim CAPTCHA rješavačem. Zanimljiva stvar, što god netko rekao.

Prvo pogledajte TesserCap

Što je autor programa učinio? Pogledao je kako se obično pristupa problemu automatiziranog rješenja CAPTCHA i pokušao sažeti to iskustvo u jedan alat. Autor je primijetio da se za uklanjanje šuma sa slike, odnosno za rješavanje najtežeg problema pri prepoznavanju captcha najčešće koriste isti filteri. Ispostavilo se da ako implementirate prikladan alat koji vam omogućuje primjenu filtera na slike bez složenih matematičkih transformacija, te ga kombinirate s OCR sustavom za prepoznavanje teksta, možete dobiti potpuno izvediv program. To je, naime, učinio Gursev Singh Kalra iz tvrtke McAfee. Zašto je to bilo potrebno? Autor uslužnog programa odlučio je provjeriti koliko su captcha velikih resursa sigurna. Za testiranje smo odabrali one internetske stranice koje su najposjećenije prema verziji poznatog statističkog servisa. Čudovišta poput Wikipedije, eBaya i davatelja usluga captcha reCaptcha postala su kandidati za testiranje.

Ako općenito razmotrimo načelo funkcioniranja programa, onda je vrlo jednostavno. Originalni captcha ide u sustav za predprocesiranje slike, koji čisti captcha od bilo kakvog šuma i izobličenja te rezultirajuću sliku propušta kroz transporter do OCR sustava, koji pokušava prepoznati tekst na njoj. TesserCap ima interaktivno grafičko sučelje i ima sljedeća svojstva:

  1. Ima svestrani sustav predprocesiranja slike koji se može konfigurirati za svaku pojedinačnu captcha.
  2. Uključuje Tesseract mehanizam za prepoznavanje koji izdvaja tekst iz prethodno raščlanjene i renderirane CAPTCHA slike.
  3. Podržava korištenje različitih kodiranja u sustavu prepoznavanja.

Mislim da je opće značenje jasno, pa predlažem da vidim kako to izgleda. Svestranost uslužnog programa nije mogla a da ne dovede do komplikacije njegova sučelja, pa prozor programa može dovesti do male omamljenosti. Stoga, prije nego što krenem izravno u prepoznavanje captcha, predlažem da se pozabavimo njegovim sučeljem i ugrađenom funkcionalnošću.


Predobrada i ekstrakcija slike
tekst iz captcha

Oko

Nismo mogli a da ne kažemo barem par riječi o autoru prekrasnog TesserCap uslužnog programa. Zove se Gursev Singh Kalra. On služi kao glavni konzultant za Foundstone Professional Services, podružnicu tvrtke McAfee. Gursev je govorio na konferencijama kao što su ToorCon, NullCon i ClubHack. Autor je TesserCap i SSLSmart alata. Osim toga, razvio je nekoliko alata za unutarnje potrebe tvrtke. Omiljeni programski jezici su Ruby, Ruby on Rails i C #. Foundstone® Professional Services, gdje radi, pruža organizacijama stručnost i obuku kako bi se osiguralo da je njihova imovina stalno i učinkovito zaštićena od najhitnijih prijetnji. Tim stručnih usluga sastoji se od renomiranih sigurnosnih stručnjaka i programera s bogatim iskustvom u radu s multinacionalnim korporacijama i vladom

Sučelje. Glavna kartica

Nakon pokretanja programa, otvorit će nam se prozor s tri kartice: Main, Options, Image Preprocessing. Glavna kartica sadrži kontrole koje se koriste za pokretanje i zaustavljanje CAPTCHA testa slike, generiranje statistike testa (koliko je pogodilo, a koliko ne), navigaciju i odabir slike za prethodnu obradu. Polje za unos URL -a (kontrola # 1) mora sadržavati točan URL koji web aplikacija koristi za dohvaćanje captcha. URL se može dobiti klikom na desnu stranu CAPTCHA slike, kopiranjem ili pregledom koda stranice i izdvajanjem URL -a iz atributa src oznake ..site / common / rateit / captcha.asp? Image. Uz redak adrese nalazi se element koji postavlja broj captcha koje je potrebno učitati za testiranje. Budući da aplikacija može prikazati samo 12 slika odjednom, pruža kontrole za pomicanje preuzetih captcha stranica po stranica. Tako ćemo se tijekom opsežnog testiranja moći pomicati kroz preuzete captcha-e i vidjeti rezultate njihovog prepoznavanja. Gumbi Start i Stop započinju, odnosno zaustavljaju testiranje. Nakon testiranja morate ocijeniti rezultate prepoznavanja slike, označavajući svaki od njih kao točan ili netočan. Pa, posljednja, najznačajnija funkcija koristi se za prijenos bilo koje slike u sustav za predprocesiranje, u kojem je postavljen filter koji uklanja šum i izobličenja sa slike. Da biste sliku poslali u sustav za predprocesiranje, desnom tipkom miša kliknite željenu sliku i odaberite stavku Pošalji u predprocesor slike u kontekstnom izborniku.

Sučelje. Kartica Opcije

Kartica opcija sadrži razne kontrole za konfiguriranje TesserCap -a. Ovdje možete odabrati OCR sustav, postaviti postavke web proxyja, omogućiti preusmjeravanje i prethodnu obradu slike, dodati prilagođena HTTP zaglavlja i odrediti raspon znakova za sustav prepoznavanja: brojeve, mala slova, velika slova, posebne znakove.

Sada o svakoj opciji detaljnije. Prije svega, možete odabrati OCR sustav. Prema zadanim postavkama, dostupan je samo jedan - Tesseract -ORC, tako da se ovdje ne morate zamarati izborom. Još jedna vrlo zanimljiva značajka programa je odabir niza likova. Uzmite, na primjer, captcha s web mjesta - možete vidjeti da ne sadrži niti jedno slovo, već se sastoji samo od brojeva. Pa zašto su nam potrebni dodatni znakovi koji će samo povećati vjerojatnost pogrešnog prepoznavanja? Ali što je s gornjim slojem? Hoće li program moći prepoznati captcha koja se sastoji od velika slova neki jezik? Ne, ne može. Program preuzima popis znakova koji se koriste za prepoznavanje konfiguracijske datoteke nalazi se u \ Program Files \ Foundstone Free Tools \ TesserCap 1.0 \ tessdata \ configs. Dopustite mi da objasnim primjerom: ako smo odabrali Numeričke i Mala slova, program će se odnositi na donju numeričku datoteku koja počinje parametrom tessedit char bijela lista. Nakon toga slijedi popis simbola koji će se koristiti za rješavanje captcha. Prema zadanim postavkama datoteke sadrže samo slova latinične abecede, pa da biste prepoznali ćirilicu, morate zamijeniti ili nadopuniti popis znakova.

Sada malo o tome čemu služi polje Zaglavlja zahtjeva HTTP. Na primjer, na nekim se web stranicama morate prijaviti da biste vidjeli captcha. Da bi TesserCap mogao pristupiti captcha -u, program mora proslijediti zaglavlja HTTP zahtjeva kao što su Accept, Cookie i Referrer itd. Pomoću web proxyja (Fiddler, Burp, Charles, WebScarab, Paros itd.) Možete presresti zaglavlja poslanih zahtjeva i unijeti ih u polje za unos zaglavlja zahtjeva HTTP. Druga mogućnost koja će vam zasigurno dobro doći je Follow Redirects. Poanta je u tome da TesserCap prema zadanim postavkama ne slijedi preusmjeravanja. Ako testni URL mora slijediti preusmjeravanje da biste dobili sliku, morate odabrati ovu opciju.

Pa, ostaje zadnja opcija koja omogućuje / onemogućuje mehanizam predprocesiranja slike, što ćemo razmotriti dalje. Prema zadanim postavkama predprocesiranje slike je onemogućeno. Korisnici prvo postavljaju filtere za predprocesiranje slika prema testiranim CAPTCHA slikama, a zatim aktiviraju ovaj modul. Sve CAPTCHA slike učitane nakon omogućavanja opcije Enable Image Preprocessing omogućuju se prethodno obrađuju i zatim prosljeđuju Tesseract OCR sustavu za izdvajanje teksta.

Sučelje. Kartica Predobrada slike

Pa, došli smo do najzanimljivije kartice. Ovdje su filtri konfigurirani za uklanjanje različitih šumova i zamućenja iz captcha, koji pokušavaju što više zakomplicirati zadatak sustava prepoznavanja. Postupak postavljanja univerzalnog filtra iznimno je jednostavan i sastoji se od devet koraka. U svakoj fazi predprocesiranja slike prikazuju se njezine promjene. Osim toga, stranica ima komponentu provjere valjanosti koja vam omogućuje da ocijenite ispravnost prepoznavanja captcha -e kada se primijeni filtar. Razmotrimo svaku fazu detaljno.

Faza 1. Inverzija boja

Ovaj korak mijenja boje piksela za CAPTCHA slike. Donji kôd pokazuje kako se to događa:

Za (svaki piksel u CAPTCHA -i) (ako je (invertRed istinito) novo crveno = 255 - trenutno crveno ako (invertBlue je točno) novo plavo = 255 - trenutno plavo ako je (invertGreen istinito) novo zeleno = 255 - trenutno zeleno)

Obrtanje jedne ili više boja često otvara nove mogućnosti za provjeru provjerenog CAPTCHA -e.

Faza 2. Promjena boje

U ovom koraku možete promijeniti komponente boje za sve piksele na slici. Svako numeričko polje može sadržavati 257 ( 1 do 255) mogućih vrijednosti. Za RGB komponente svakog piksela, ovisno o vrijednosti u polju, izvode se sljedeće radnje:

  1. Ako je vrijednost -1, odgovarajuća komponenta boje se ne mijenja.
  2. Ako vrijednost nije -1, sve pronađene komponente navedena boja(crvena, zelena ili plava) mijenja se ovisno o vrijednosti unetoj u polja. Vrijednost 0 uklanja komponentu, vrijednost 255 postavlja njen maksimalni intenzitet itd.

Faza 3. Nijanse sive (Nijanse sive)

U trećem koraku sve se slike pretvaraju u slike u sivim tonovima. Ovo je jedini potrebni korak pretvorbe slike koji se ne može preskočiti. Ovisno o odabranom gumbu, jedna od sljedećih radnji se izvodi u vezi sa komponentom boje svakog piksela:

  1. Prosjek -> (Crveno + Zeleno + Plavo) / 3.
  2. Ljudski -> (0,21 * Crveno + 0,71 * Zeleno + 0,07 * Plavo).
  3. Prosjek minimalnih i maksimalnih komponenti boje -> (Minimum (Crvena + Zelena + Plava) + Maksimalna (Crvena + Zelena + Plava)) / 2.
  4. Minimum -> Minimum (crveno + zeleno + plavo).
  5. Maksimalno -> Maksimalno (crveno + zeleno + plavo).

Ovisno o intenzitetu i raspodjeli komponente boje CAPTCHA -e, bilo koji od ovih filtera može poboljšati izdvojenu sliku za daljnju obradu.


Faza 4. Smanjivanje i izoštravanje

Kako bi se otežalo izdvajanje teksta iz CAPTCHA slika, dodaje im se šum u obliku točaka s jednim ili više piksela, vanjskih linija i prostornih izobličenja. Kad se slika izgladi, povećava se slučajni šum, koji se zatim eliminira Bucket ili Cutoff filterima. U numeričkom polju Prolazi trebali biste navesti koliko puta treba primijeniti odgovarajuću masku slike prije nego prijeđete na sljedeći korak. Pogledajmo komponente filtera za zaglađivanje i oštrenje. Dostupne su dvije vrste maski za slike:

  1. Fiksne maske. TesserCap prema zadanim postavkama ima šest najpopularnijih maski za slike. Ove maske mogu izravnati sliku ili izoštriti sliku (Laplaceova transformacija). Promjene se prikazuju odmah nakon odabira maske pomoću odgovarajućih gumba.
  2. Prilagođene maske za slike. Korisnik također može postaviti prilagođene maske za obradu slika unosom vrijednosti u numerička polja i klikom na gumb Spremi masku. ako je zbroj koeficijenata u tim prozorima manji od nule, generira se pogreška i maska ​​se ne primjenjuje. Ako odaberete fiksnu masku, ne morate koristiti gumb Spremi masku.

Korak 5. Uvođenje nijansi sive

U ovoj fazi obrade slike njeni pikseli mogu biti obojeni u širokom rasponu sivih nijansi. Ovaj filtar prikazuje raspodjelu sivih tonova u 20 kanti / raspona. Postotak piksela u sivim tonovima u rasponu od 0 do 12 nalazi se u segmentu 0, postotak piksela u sivim tonovima u rasponu od 13 do 25 nalazi se u segmentu 1 itd. Korisnik može izabrati jedno od sljedećeg za svaki raspon vrijednosti u sivim tonovima:

  1. Ostavite kako jest.
  2. Zamijenite bijelim.
  3. Zamijenite crnom.

Pomoću ovih opcija možete kontrolirati različite raspone nijansi sive, a također smanjiti / ukloniti šum promjenom tonova sive u bijelu ili crnu.

Korak 6. Postavljanje granične vrijednosti

Ovaj filtar prikazuje ovisnost vrijednosti razine sive o učestalosti pojavljivanja i od vas traži da odaberete graničnu vrijednost. Princip odsječenog filtra prikazan je dolje u pseudokodu:

Ako (vrijednost u sivim tonovima piksela<= Cutoff) pixel grayscale value = (0 OR 255) ->ovisno o tome koja je opcija odabrana (<= или =>: Postavite vrijednost za svaki piksel<=/=>Prag do 0. Preostalo do 255)

Grafikon prikazuje detaljnu raspodjelu CAPTCHA piksela po boji i pomaže ukloniti nered izrezivanjem vrijednosti razine sive.

Korak 7: sjeckanje

Nakon primjene filtara za uklanjanje aliasinga, izrezivanja, povezivanja i drugih filtara, CAPTCHA slike se i dalje mogu zatrpati točkama od jednog ili više piksela, vanjskim linijama i prostornim izobličenjem. Princip filtra za usitnjavanje je sljedeći: ako je broj susjednih piksela obojenih u datoj sivoj nijansi manji od vrijednosti u numeričkom polju, filter za sjeckanje dodjeljuje im vrijednost 0 (crno) ili 255 (bijelo) po izboru korisnika. Istodobno, CAPTCHA se analizira i vodoravno i okomito.

Faza 8: Promijenite širinu ruba

Prema autoru uslužnog programa, tijekom početnog istraživanja i razvoja TesserCapa, on je više puta primijetio da kada slike CAPTCHA imaju debelu obrubnu liniju i da se njihova boja razlikuje od glavne pozadine CAPTCHA -e, neki OCR sustavi ne mogu prepoznati tekst. Ovaj filtar je dizajniran za obradu graničnih linija i njihovu promjenu. Granice s širinom navedenom u numeričkom polju obojene su crno ili bijelo po izboru korisnika.

Korak 9: Obrnite sivu nijansu

Ovaj filtar prolazi kroz svaki piksel i zamjenjuje njegovu razinu sive s novom, kao što je prikazano u donjem pseudokodu. Inverzija u sivim tonovima izvodi se kako bi se slika prilagodila postavkama boja OCR sustava.

Za (svaki piksel u CAPTCHA) nova vrijednost u sivim tonovima = 255 - trenutna vrijednost u sivim tonovima

Korak 10: Provjerite prepoznavanje Captcha

Svrha ovog koraka je proslijediti prethodno obrađenu CAPTCHA sliku u OCR sustav radi prepoznavanja. Gumb Riješi uzima sliku nakon filtra za inverziju sivih tonova, šalje je OCR sustavu za izdvajanje teksta i prikazuje vraćeni tekst u grafičkom sučelju. Ako prepoznati tekst odgovara tekstu na captcha -u, tada smo ispravno postavili filtar za predprocesiranje. Sada možete otići na karticu s opcijama i omogućiti opciju Omogući prethodnu obradu slike za obradu svih sljedećih prenesenih captcha.

Prepoznavanje captcha

Pa, možda smo razmotrili sve mogućnosti ovog uslužnog programa, a sada bi bilo lijepo testirati snagu neke captcha ..


Rezultat analize captcha stranice s preliminarnim
obrada slike. Na temelju rezultata, filter
nije uspio podići

Dakle, pokrećemo uslužni program i idemo na web stranicu časopisa. Vidimo popis svježe vijesti, idite na prvu na koju naiđete i pomaknite se do mjesta na kojem možete ostaviti svoj komentar. Da, nije lako dodati komentar (naravno, u protivnom bi već duže vrijeme spamirali sve) - morate unijeti captcha. Pa, provjerimo može li se to automatizirati. Kopirajte URL slike i zalijepite je u adresnu traku TesserCap. Označavamo da trebate preuzeti 12 captcha -a, a zatim kliknite Start. Program je poslušno učitao 12 slika i pokušao ih prepoznati. Nažalost, svi captcha -i ili nisu prepoznati, što dokazuje natpis -Failed- ispod njih, ili su pogrešno prepoznati. Općenito, to ne čudi jer se vanjska buka i izobličenja nisu uklonili. Ovo ćemo sada učiniti. Desnom tipkom miša kliknite jednu od 12 učitanih slika i pošaljite je predprocesoru za slanje na sliku. Pažljivo ispitavši svih 12 captcha, vidimo da sadrže samo brojeve, pa idite na karticu s opcijama i naznačite da je potrebno prepoznati samo brojeve (skup znakova = numerički). Sada možete otići na karticu Predobavljanje slike za konfiguriranje filtara. Moram odmah reći da nakon igranja s prva tri filtera ("Inverzija boje", "Promjena boje", "Nijanse sive") nisam vidio nikakav pozitivan učinak, pa sam prema zadanim postavkama ostavio sve tamo. Odabrao sam Smooth Mask 2 i postavio broj prolaza na jedan. Preskočio sam filter kante sive boje i prešao ravno na postavku izrezivanja. Odabrao sam vrijednost 154 i naznačio da te piksele, koji su manji, treba postaviti na 0, a one veće na 255. Da bih se riješio preostalih točaka, uključio sam sjeckanje i promijenio širinu ruba na 10. Nije bilo smisla uključivati ​​zadnji filtar, pa sam odmah kliknuo na Riješi.

Na captcha -u sam imao broj 714945, ali program ga je prepoznao kao 711435. Ovo je, kao što vidite, potpuno pogrešno. Na kraju, koliko god se borio, nisam uspio pravilno prepoznati captcha. Morao sam eksperimentirati s pastebin.com, koji sam bez problema uspio prepoznati. No, ako se pokažete marljivijim i strpljivijima te uspijete ispravno prepoznati captchas sa stranice, odmah idite na karticu s opcijama i omogućite prethodnu obradu slike (Omogući obradu slike). Zatim idite na Main i klikom na Start preuzmite svježi dio captcha-a koji će vaš filter prethodno obraditi. Nakon pokretanja programa označite ispravno / pogrešno prepoznate captchas (tipke Označi kao ispravno / Označi kao Neispravno). Od sada možete pregledavati sažete statističke podatke o prepoznavanju pomoću Prikaži statistiku. Općenito, ovo je svojevrsno izvješće o sigurnosti jednog ili drugog CAPTCHA -a. Ako se radi o izboru jednog ili drugog rješenja, tada je uz pomoć TesserCapa sasvim moguće provesti vlastito testiranje.

CAPTCHA rezultat provjere na popularnim web mjestima

Web stranica i udio priznatih captcha:

  • 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%

Zaključak

CAPTCHA slike jedan su od najučinkovitijih mehanizama za zaštitu web aplikacija od automatiziranog popunjavanja obrazaca. Međutim, slabi captcha -i moći će se zaštititi od slučajnih robota i neće se oduprijeti ciljanim pokušajima njihova rješavanja. Poput kriptografskih algoritama, CAPTCHA slike, strogo testirane i s visokom razinom sigurnosti, najviše su najbolji način zaštita. Na temelju statističkih podataka koje je dao autor programa, odabrao sam reCaptcha za svoje projekte i preporučit ću je svim svojim prijateljima - pokazalo se da je najuporniji od testiranih. U svakom slučaju, ne zaboravite da na webu postoji mnogo usluga koje nude poluautomatizirano rješenje CAPTCHA. Putem posebnog API -ja prenosite sliku na uslugu, a usluga vraća rješenje nakon kratkog vremena. Prava osoba (na primjer, iz Kine) rješava captcha, za to dobivajući vlastiti lijep novac. Nema više nikakve zaštite. 🙂