Как recaptcha 3 узнает, что я использую селен / хромедрайвер? - PullRequest
3 голосов
/ 03 апреля 2019

Мне интересно, как работает Recaptcha v3.В частности, в браузере снимают отпечатки пальцев.

Когда я запускаю экземпляр хрома через селен / хромедрайвер и проверяю на ReCaptcha 3 (https://recaptcha -demo.appspot.com / recaptcha-v3-request-scores.php) Я всегда получаю 0,1 балла при использовании селена / хромедривера.

При использовании инкогнито с обычным экземпляром я получаю 0,3.

Я побил другие системы обнаружения, внедрив JS и изменив объект веб-драйвера и перекомпилировав веб-драйвер из источника и изменив переменные $ cdc_,

Я вижу, как выглядит какой-то запутанный POST обратно на сервер, поэтому я собираюсь начать там копать.

Я просто хотел проверить, готов ли кто-нибудь поделиться каким-либо советом или опытомс этим первым о том, что это может искать, чтобы определить, использую ли я селен / хромедрайвер?

Ответы [ 2 ]

2 голосов
/ 05 апреля 2019

Selenium и Puppeteer имеют некоторые настройки браузера, которые отличаются от неавтоматизированных браузеров. Кроме того, поскольку некоторые функции JS внедряются в браузер для управления элементами, вам необходимо создать некоторое переопределение, чтобы избежать обнаружения.

Есть несколько хороших статей, объясняющих некоторые моменты об обнаружении Селена и Кукловода, пока он работает на сайте с механизмами обнаружения:

Обнаружение Chrome без головы, новые техники - Вы можете использовать его для написания защитного кода на своем боте

не возможно обнаружить и заблокировать хромированный безгласный - Объясняет в ясной и четкой форме различия, которые JS-код может обнаружить между браузером, запускаемым автоматическим программным обеспечением, и настоящий, а также как его подделать.

Github - headless-cat-n-mouse - Пример использования кукловода + питона во избежание обнаружения

2 голосов
/ 03 апреля 2019

ReCaptcha

Веб-сайты могут легко обнаружить сетевой трафик и идентифицировать вашу программу как BOT . Google уже выпустил 5 (пять) reCAPTCHA на выбор при создании нового сайта. Пока четыре из них активны и reCAPTCHA v1 отключается.


версии и типы reCAPTCHA

  • reCAPTCHA v3 (проверка запросов с оценкой): reCAPTCHA v3 позволяет проверить, является ли взаимодействие законным без какого-либо взаимодействия с пользователем. Это чистый API-интерфейс JavaScript, возвращающий счет и позволяющий вам действовать в контексте вашего сайта: например, требовать дополнительных факторов аутентификации, отправлять сообщения на модерацию или регулировать количество ботов, которые могут очищать содержимое.
  • reCAPTCHA v2 - Флажок "Я не робот" : Флажок "Я не робот" требует, чтобы пользователь установил флажок, указывающий, что пользователь не является робот. Это либо сразу пропустит пользователя (без CAPTCHA), либо предложит ему проверить, являются ли они людьми. Это самый простой вариант для интеграции, и для его отображения требуется всего две строки HTML.

newCaptchaAnchor

  • reCAPTCHA v2 - Невидимый значок reCAPTCHA : Невидимый значок reCAPTCHA не требует от пользователя установки флажка, вместо этого он вызывается непосредственно, когда пользователь нажимает на существующую кнопку на вашем сайте или может быть вызван с помощью вызова API JavaScript. Интеграция требует обратного вызова JavaScript, когда проверка reCAPTCHA завершена. По умолчанию только самый подозрительный трафик будет предложено решить капчу. Чтобы изменить это поведение, измените настройки безопасности своего сайта в дополнительных настройках.

reCaptcha_invisible_badge

  • reCAPTCHA v2 - Android : библиотека reCAPTCHA Android является частью API-интерфейсов SafetyNet служб Google Play. Эта библиотека содержит встроенные API-интерфейсы Android, которые можно интегрировать непосредственно в приложение. Вы должны настроить службы Google Play в своем приложении и подключиться к GoogleApiClient, прежде чем вызывать API reCAPTCHA. Это либо сразу пропустит пользователя (без приглашения CAPTCHA), либо заставит его проверить, являются ли они людьми.
  • reCAPTCHA v1 : reCAPTCHA v1 был закрыт с марта 2018 года.

Решение

Однако есть несколько общих подходов, чтобы избежать обнаружения при просмотре веб-страниц:


Outro

Пища для размышлений:

...