Автоматический обход Cloudflare капчи - два противоположных метода (выбирай что ближе)
Автоматизированное тестирование, являющееся важнейшим аспектом непрерывной интеграции, часто сталкивается с проблемами при использовании таких мер безопасности, как капча. Необходимость в непрерывных и повторяющихся тестовых запусках может привести к срабатыванию механизмов безопасности, таких как Cloudflare CAPTCHA, что приводит к сбоям тестирования. Хотя во время выполнения теста можно отключить капчу, существуют сценарии, при которых это может оказаться неосуществимым. В этом тексте мы расскажем о Cloudflare CAPTCHA, сосредоточив внимание на автономной капче Standalone Cloudflare Turnstile Captcha и Cloudflare Turnstile Challenge Page. Мы рассмотрим тонкости этих капчей и обсудим два эффективных способа их автоматического обхода.
Введение в Cloudflare
Существует 2 типа капчи Cloudflare turnstile captcha:
Автономная Standalone Cloudflare Turnstile Captcha: Виджет-капча размещается на странице веб-сайта и защищает форму от автоматической отправки. Пример.
Cloudflare Turnstile Challenge Page: Капча на веб-сайтах, проксируемых через Cloudflare. Пример.
Техники обхода
3.1. Бесплатный (только на Python):
- Необнаруживаемый драйвер Chrome: Использование необнаруживаемого браузера Chrome позволяет сценариям автоматизации взаимодействовать с веб-сайтами, не вызывая проверки безопасности Cloudflare. Однако эта библиотека по-прежнему обнаруживается новейшим алгоритмом Cloudflare.
- DrissionPage: DrissionPage – это библиотека Python, которая автоматизирует взаимодействие с браузером и может использоваться для навигации по веб-сайтам, защищённым Cloudflare, без обнаружения. Изучить документацию DrissionPage можно по ссылке
3.2. Платный обход при использовании 2Captcha:
Шаг 1: Отправьте запрос на обход turnstile на 2Captcha с помощью:
- Конечная точка: https://2captcha.com/in.php
- Метод: POST
- Тело запроса в формате JSON:
Где Вы можете получить значение ключа сайта? В тэге CF iframe Вы можете взять значение из атрибута src. Смотрите более подробную информацию ниже:
Примерный ответ:
Шаг 2: Подождите 10 секунд
- Запрос на шаге 1 запускает задание для обхода Cloudflare вручную. Таким образом, выполнение этой работы занимает 7-10 секунд. Вам нужно подождать.
Шаг 3: Отправьте запрос GET для получения токена cf-turnstile-response
- Примерный ответ:
Шаг 4: Установите значение для ввода cf-turnstile-response на вкладке консоли инструмента разработки.
Шаг 5: Капча пройдена. Продолжайте свою работу.
Вы можете ознакомиться с последними рекомендациями по вводу автономной капчи standalone turnstile здесь. Если Вы ищете примеры кода 2Captcha на C#, PHP, Ruby, Java, Python или Javascript, пожалуйста, перейдите в их git-репозитории.
3.2.2. Cloudflare Challenge page
Обход с помощью puppeteer JS
- Во-первых, отправьте тот же POST-запрос, что и при автономной standalone turnstile капче, чтобы запустить задание обхода 2Captcha. Однако здесь есть ещё 3 обязательных поля, которые необходимо заполнить, включая data, pagedata и action.
- Как мы можем получить значения для этих полей? Вы должны перехватить вызов window.turnstile.render, введя следующий JavaScript перед загрузкой виджета Turnstile.
- В Puppeteer используйте метод Page.evaluateOnNewDocument(inject_script), чтобы вводить скрипт всякий раз, когда загружается новый документ. Сохраните приведённый выше JS-скрипт в файле с именем inject.js, сценарий для обхода будет:
Обход с Selenium C#
- C# – это всего лишь пример реализации. 2Captcha может быть реализована на любом другом языке.
- В Selenium проделайте то же самое с Puppeteer. Вызовите команду Page.addScriptToEvaluateOnNewDocument из Chrome Dev Tools вместо page.evaluateOnNewDocument();, чтобы внедрить скрипт.
- Загрузите сообщение, содержащее текст “intercepted-params”. И не забудьте настроить параметры ведения журнала на всех уровнях, чтобы получать журнал с помощью: chromeOptions.SetLoggingPreference(LogType.Browser, OpenQA.Selenium.LogLevel.All);
- Обработайте параметры в запросе Turnstile Captcha для data, PageData и action. Наконец, переадресуйте верификацию Cloudflare с помощью токена для обхода с js-скриптом $”cfCallback(‘{token}’);”
- Наконец, запустите его, и Вы успешно обойдёте CloudFlare. Поздравляем!
Заключение
Автоматический обход Cloudflare капчи требует тонкого понимания различных типов проблем, связанных с мерами безопасности. В этом случае 2captcha становится надёжным и жизнеспособным решением.
Важно отметить, что методы автоматического обхода должны использоваться ответственно и с соблюдением этических норм. Надеемся, что эта тема окажется для Вас полезной!
огонь!!! сходу обошел..