Ten post dotyczy Google ReCaptcha v2 (nie najnowszej wersji)
Niedawno Google wprowadziło uproszczony system weryfikacji „captcha” ( wideo ), który umożliwia użytkownikom przejście „captcha” przez kliknięcie go.
Ale jak odróżnić bota od osoby jednym kliknięciem?
Zgodnie z tą odpowiedzią (zakładając podobną implementację), na początku „recaptcha” generuje ukryty klucz i dołącza go do ukrytego elementu wejściowego, a także leniwie renderuje pole wyboru (nie rzeczywiste pole wyboru, input
ale a div
) z tym samym kluczem, który po kliknięciu wysyła żądanie asynchroniczne (XHR) do serwerów zaplecza Google w celu oznaczenia go jako prawidłowego klucza weryfikacyjnego (tj. klucza, który musi zostać zweryfikowany podczas przesyłania formularza).
Ale dlaczego boty nie mogą zautomatyzować tego kliknięcia (przynajmniej boty oparte na przeglądarce)?
Jak to może działać?
Odpowiedzi:
To spekulacje, ale oparte na odwołaniu Google do używanego przez nich „silnika analizy ryzyka” ( http://googleonlinesecurity.blogspot.com/2014/12/are-you-robot-introducing-no-captcha.html )
Zakładam, że patrzy na to, jak się zachowywałeś przed kliknięciem, jak kursor poruszał się w drodze do sprawdzenia (ścieżka organiczna / przyspieszenie), która część pola wyboru została kliknięta (losowe miejsca lub za każdym razem martwe na środku), przeglądarka odcisk palca, pliki cookie i zawartość Google, kliknij historię lokalizacji powiązaną z Twoim odciskiem palca lub kontem, jeśli je wykryje itp.
Dość trudne jest sfałszowanie „organicznego” zachowania w taki sposób, że oszukałoby to ciągłe uczenie się silnika wykrywania wzorców. W przypadkach, w których nie jest to pewne, nadal monituje o dopasowanie rzeczywistego ciągu CAPTCHA.
źródło
Wydano nowy artykuł z kilkoma testami przeciwko reCAPTCHA:
https://www.blackhat.com/docs/asia-16/materials/asia-16-Sivakorn-Im-Not-a-Human-Breaking-the-Google-reCAPTCHA-wp.pdf
Niektóre najważniejsze:
Google naprawiło już lukę w zabezpieczeniach plików cookie i prawdopodobnie ogranicza niektóre zachowania oparte na adresach IP.
Innym interesującym odkryciem jest to, że Google uruchamia maszynę wirtualną w JavaScript, która zaciemnia znaczną część kodu i zachowania reCAPTCHA. Ta maszyna wirtualna jest znana jako botguard i służy do ochrony innych usług oprócz reCAPTCHA:
https://github.com/neuroradiology/InsideReCaptcha
AKTUALIZACJA 2017
Niedawny artykuł (z sierpnia) został opublikowany na WOOT 2017, osiągając 85% dokładności w rozwiązywaniu problemów dźwiękowych noCAPTCHA reCAPTCHA:
http://uncaptcha.cs.umd.edu/papers/uncaptcha_woot17.pdf
AKTUALIZACJA 2018
Google wprowadza reCAPTCHA v3, który wygląda jak „silnik przewidywania wyników ludzkich”, który jest skalibrowany dla poszczególnych witryn. Można go zainstalować na różnych stronach witryny (działającej jak skrypt Google Analytics), aby pomóc reCAPTCHA i właścicielowi strony zrozumieć zachowania ludzi względem botów przed wypełnieniem reCAPTCHA.
https://www.google.com/recaptcha/intro/v3beta.html
źródło
mouse events don't affect the results
To ciekawe, ponieważ ja (i uważam, że wielu innych) uważałem, że to główna rzecz, która wpłynęła na wyniki. Myślałem na telefonie komórkowym zamiast pola wyboru, użytkownicy zostali poproszeni o wybranie wszystkich podobnych obrazów, ponieważ nie ma ruchów myszy na ekranie dotykowym. Jednak patrząc ponownie na wstępny post na blogu, wydaje się, że tak nie jest. Być może wybieranie obrazów polega na wpisywaniu zniekształconego tekstu, a nie na zaznaczaniu pola. Czy ty (lub ktokolwiek) wiesz, czy reCAPTCHA kiedykolwiek pozwala po prostu zaznaczyć pole na telefonie komórkowym?Tab
i,Enter
aby zaznaczyć pole wyboru, wyświetli się captcha obrazów, abyś mógł je wybrać na podstawie kryterium.Tab
iEnter
nie będzie wyświetlać captcha obrazu przez cały czas. Większość czasu naciskaTab
iEnter
jest akceptowanaMoje boty działają dobrze przeciwko ReCaptcha.
Oto moje rozwiązanie.
Pozwól botowi wykonać następujące kroki:
Najpierw napisz funkcję Move Mysz, aby poruszać myszą jak B-splajn (Zapytaj mnie o kod źródłowy). To jest najważniejszy punkt.
Użyj również, aby uzyskać lepsze wyniki VPN, np. Https://www.purevpn.com
Dla każdego Recpatcha wykonaj następujące kroki:
Jeśli używasz VPN najpierw przełącz IP
Wyczyść wszystkie pliki cookie przeglądarki
Wyczyść całą pamięć podręczną przeglądarki
Ustaw jeden z tych Useragents losowo:
za. Mozilla / 5.0 (kompatybilny; MSIE 9.0; Windows NT 6.1; Trident / 5.0)
b. Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 44.0) Gecko / 20100101 Firefox / 44.0
5 Przenieś swoją mysz ludzką myszką Przenieś funkcję z RandomPoint do Nie jestem obrazem robota za każdym razem z innym 10x10 Losowo
Następnie kliknij kiedykolwiek z losowym opóźnieniem między
WM_LBUTTONDOWN
i
WM_LBUTTONUP
Wykonaj zrzut ekranu z obrazu Captcha
Wyślij zrzut ekranu do
http://www.deathbycaptcha.com
lub
https://2captcha.com
i niech rozwiązują.
Po otrzymaniu współrzędnych kliknięć z solvera captcha, przesuń Funktion Ludzką Myszą, aby się poruszać i kliknij Recaptcha Images
Użyj swojej Ruchu Ludzkiej Myszy, aby się poruszać i kliknij przycisk Weryfikuj Recaptcha
W 75% wszystkie próby Recaptcha zostaną rozwiązane
Chears Google
Tomek
źródło
Chciałbym przedstawić moje przypuszczenie, ponieważ nie jest to otwarta technologia.
Google mówi, że chodzi o przeczesywanie informacji sprzed, w trakcie i po, aby odróżnić człowieka od robota. Ale bardziej interesuje mnie to ostatnie kliknięcie pola wyboru.
Powiedzmy, że dane POST (rozwiązany CAPTCHA) mają pole o nazwie odcisk palca, ciąg obliczony na podstawie zachowania użytkownika. Myślę, że może istnieć pole dotyczące tego pola wyboru. Wydaje mi się, że to pole wyboru znajduje się w układzie współrzędnych generowanych losowo przez zaplecze Google i szyfrowanych kluczem publicznym mojej witryny. Tak więc robot może „odgadnąć / obliczyć” lokalizację tego pola, ale gdy właściciel witryny wykona zapytanie GET kluczem prywatnym w celu zweryfikowania tożsamości użytkownika, Google odszyfruje układ współrzędnych i powie, czy użytkownik kliknie właściwe miejsce. Tak więc tylko jedno możliwe kliknięcie prawym przyciskiem myszy (z pewnymi przesunięciami, jest to kwadratowe pole) w tym losowym układzie współrzędnych, którego właścicielem są tylko Google i właściciele witryn.
źródło
Pamiętaj, że Google używa również reCaptcha razem z
aby jednoznacznie rozpoznać użytkownika / przeglądarki bez plików cookie!
źródło