Этот пост относится к Google ReCaptcha v2 (не последняя версия)
Недавно Google представил упрощенную систему проверки «капчи» ( видео ), которая позволяет пользователям пропустить «капчу», просто нажав на нее.
Но как он может отличить бота от человека одним щелчком мыши?
Согласно этому ответу (при условии аналогичной реализации), сначала «recaptcha» генерирует скрытый ключ и прикрепляет его к скрытому элементу ввода, а также лениво отображает флажок (не фактический флажок, input
а a div
) с тем же ключом, который при нажатии отправляет асинхронный запрос (XHR) на внутренние серверы Google, чтобы пометить его как действительный ключ проверки (т. е. ключ, который должен быть проверен при отправке формы).
Но почему боты не могут автоматизировать этот клик (по крайней мере, боты на основе браузера)?
Как это может работать?
Ответы:
Это предположение, но на основании ссылки Google на «механизм анализа рисков», который они используют ( http://googleonlinesecurity.blogspot.com/2014/12/are-you-robot-introduction-no-captcha.html )
Я бы предположил, что он смотрит на то, как вы себя вели до нажатия, как ваш курсор двигался на пути к проверке (обычный путь / ускорение), какая часть флажка была нажата (случайные места или каждый раз в центре), браузер отпечаток пальца, файлы cookie и содержимое Google, история местоположений кликов, привязанная к вашему отпечатку пальца или учетной записи, если она обнаружена и т. д.
Довольно трудно подделать «органическое» поведение таким образом, чтобы оно обмануло постоянно обнаруживаемый механизм обнаружения паттернов. В случаях, когда он не уверен, он все равно предлагает вам сопоставить фактическую строку CAPTCHA.
источник
Была выпущена новая статья с несколькими тестами против reCAPTCHA:
https://www.blackhat.com/docs/asia-16/materials/asia-16-Sivakorn-Im-Not-a-Human-Breaking-the-Google-reCAPTCHA-wp.pdf
Некоторые основные моменты:
Google уже исправил уязвимость в файлах cookie и, вероятно, ограничивает некоторые варианты поведения, основанные на IP-адресах.
Еще одним интересным открытием является то, что Google запускает виртуальную машину на JavaScript, которая запутывает большую часть кода и поведения reCAPTCHA. Эта виртуальная машина называется botguard и используется для защиты других служб, кроме reCAPTCHA:
https://github.com/neuroradiology/InsideReCaptcha
ОБНОВЛЕНИЕ 2017
Недавняя статья (с августа) была опубликована на WOOT 2017 с 85-процентной точностью в решении задач аудио noCAPTCHA reCAPTCHA:
http://uncaptcha.cs.umd.edu/papers/uncaptcha_woot17.pdf
ОБНОВЛЕНИЕ 2018
Google представляет reCAPTCHA v3, который выглядит как «механизм прогнозирования человеческого рейтинга», который откалиброван для каждого веб-сайта. Он может быть установлен на разных страницах веб-сайта (работает как скрипт Google Analytics), чтобы помочь reCAPTCHA и владельцу веб-сайта понять поведение людей и ботов перед заполнением reCAPTCHA.
https://www.google.com/recaptcha/intro/v3beta.html
источник
mouse events don't affect the results
Это интересно, так как я (и я верю многим другим) думал, что это главное, что повлияло на результаты. Я подумал, что на мобильном телефоне вместо флажка пользователям было предложено выбрать все похожие изображения, потому что на сенсорном экране нет движений мыши. Однако, глядя на вступительное сообщение в блоге снова, кажется, что это может быть не так. Возможно, выбор изображений вместо того, чтобы печатать искаженный текст, а не вместо галочки. Знаете ли вы (или кто-либо другой), позволяет ли reCAPTCHA когда-либо просто ставить флажки на мобильном телефоне?Tab
и,Enter
чтобы установить флажок, он покажет капчу изображений для вас, чтобы выбрать их на основе критерия.Tab
иEnter
не будет показывать капчу изображения все время. Большую часть времени актуаленTab
иEnter
принимаетсяМои боты хорошо работают против ReCaptcha.
Вот мое решение.
Пусть ваш бот делает следующие шаги:
Сначала напишите функцию перемещения мыши, чтобы двигать мышь, как B-сплайн (попросите у меня исходный код). Это самый важный момент.
Также используйте для лучших результатов VPN как https://www.purevpn.com
Для каждой Recpatcha выполните следующие действия:
Если вы используете VPN-коммутатор IP первым
Очистить все файлы cookie браузера
Очистить весь кэш браузера
Установите один из этих Useragents случайно:
а. Mozilla / 5.0 (совместимый; MSIE 9.0; Windows NT 6.1; Trident / 5.0)
б. Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 44.0) Gecko / 20100101 Firefox / 44.0
5 Перемещайте свою мышь с помощью мыши-человека. Каждый раз перемещайте функцию из RandomPoint в изображение «Я не робот» с различными случайными диапазонами 10x10.
Затем нажмите когда-либо со случайной задержкой между
WM_LBUTTONDOWN
и
WM_LBUTTONUP
Взять снимок экрана с изображения Captcha
Отправить скриншот на
http://www.deathbycaptcha.com
или
https://2captcha.com
и пусть они решают.
После получения клика на координаты из решателя капчи используйте функцию Human Mouse Move Funtion для перемещения и кликните Recaptcha Images
Используйте функцию перемещения мышью-человека для перемещения и нажмите кнопку подтверждения Recaptcha
В 75% все попытки Рекапча будут решены
Chears Google
Том
источник
Позвольте мне высказать свое предположение, так как это не открытая технология.
Google говорит о расчесывании информации до, во время, после, чтобы отличить человека от робота. Но меня больше интересует этот последний щелчок на флажке.
Скажем, у данных POST (решено CAPTCHA) есть поле с именем fingerprint, строка, рассчитанная на основе поведения пользователя. Я думаю, что может быть поле о местоположении этого флажка. Я предполагаю, что этот флажок находится в системе координат, случайно сгенерированной серверной частью Google и зашифрованной открытым ключом моего сайта. Таким образом, робот может «угадать / вычислить» местоположение этого поля, но когда владелец сайта делает запрос GET с закрытым ключом для проверки личности пользователя, Google расшифрует систему координат и скажет, щелкнет ли пользователь в нужном месте. Таким образом, в этой случайной системе координат только один возможный щелчок правой кнопкой мыши (с некоторыми смещениями, это квадрат), принадлежащий только Google и владельцам сайтов.
источник
Помните, что Google также использует reCaptcha вместе с
уникально распознавать пользователя / браузеры без файлов cookie!
источник