Как идентифицировать разные типы капч
Что такое капча
Капча (англ. CAPTCHA) – технология, предназначенная для обеспечения безопасности на веб-сайтах. Она защищает сайты от спама, кражи данных, DDoS-атак и других злонамеренных автоматизированных действий.
Капчи постоянно обновляются и совершенствуются, всё больше препятствуя работе скриптов, которые могут быть потенциально опасными. Чтобы проверить посетителей сайта и определить, являются они реальными людьми или роботами, разработчики создают различные методы проверок и целые системы для защиты данных. Пользователям могут предложить ввести текст, выбрать изображение, решить пазл или распознать искаженную аудиозапись. Современные технологии также всё больше стремятся минимизировать неудобства для реальных пользователей, позволяют проводить проверку в фоновом режиме, не требуя никаких действий, и активируют её только при подозрении на использование автоматизации.
Данная статья поможет вам определить тип капчи и понять общие механизмы её работы благодаря поиску специфичных элементов в HTML-коде. Итак, давайте начнём!
Как работают капчи
Капча – замечательный способ сохранить безопасность на сайтах. Общие этапы работы систем защиты на целевых сайтах следующие:
- CAPTCHA генерирует задачу, которую нужно решить. Это может быть искажённый текст, набор изображений, аудио или интерактивный элемент, как слайдер. Чтобы усложнить задачу для ботов, текст может быть искажён, а аудио – загромождён шумом.
- Капча добавляется на веб-страницу в виде видимого элемента, например, текстового поля, изображения или слайдера. Для некоторых капч, как Google reCAPTCHA, скрипты загружаются с серверов для отображения в реальном времени.
- Пользователь взаимодействует с CAPTCHA – вводит текст, выбирает изображения или двигает слайдер. Когда задача завершена, ответ отправляется на сервер для проверки.
- Сервер проверяет правильность ответа, соответствует ли взаимодействие требованиям. Современные капчи также смотрят на поведение пользователя: как часто он делает запросы, использует ли JavaScript, как двигает мышь и вводит текст.
- Результат проверки:
Успех: если ответ верен или поведение выглядит естественно, доступ предоставляется.
Неудача: если ответ неверный или поведение вызывает подозрения, CAPTCHA может предложить повторную проверку или заблокировать доступ.
Методы проверок защитных систем
Разработчики ботов не стоят на месте, и простые текстовые капчи уже не всегда способны эффективно различать реальных пользователей и автоматические системы. Современные технологии тоже постоянно развиваются, предлагая всё более сложные и комбинированные методы защиты сайтов. Давайте немного пройдёмся по этим способам:
1. Анализ HTTP-запросов и ответов
- Анализируются заголовки запроса и ответа – User-Agent, Referer, Accept-Language и Cookies. Отсутствие стандартных значений может указывать на автоматизацию.
- Проверяются параметры в URL и POST-запросах на наличие подозрительных или нестандартных значений.
- Измеряется частота запросов с одного IP-адреса. Слишком высокая частота может свидетельствовать о бот-активности.
- Проверяется наличие и корректность куки, используемых для идентификации сессий и предотвращения повторных атак.
2. Анализ TCP/IP
- Анализируются особенности установления и разрыва TCP-сессий – время соединения, частота запросов и задержки. Боты могут проявлять необычное поведение по сравнению с реальными пользователями.
- Проверяется характер передачи пакетов, наличие повторяющихся шаблонов или нетипичных задержек, которые могут указывать на автоматизацию.
3. Анализ TLS-сессий
- Проверяются сертификаты для выявления подозрительных или поддельных сертификатов. Необычные значения в сертификатах могут свидетельствовать о попытке обхода защиты.
- Оценивается использование шифрования и корректность процесса декодирования данных (боты могут иметь проблемы с обработкой шифрования).
4. Fingerprint (отпечаток устройства)
- Профилирование браузера – собираются данные о браузере, например, версия, плагины, шрифты и настройки JavaScript. Это помогает отличить реальных пользователей от ботов.
- Анализируются характеристики устройства – разрешение экрана, настройки операционной системы и тип устройства. Боты часто используют виртуальные или непривычные устройства.
- Оценивается поведение пользователя – движение мыши, скорость набора текста и частота взаимодействий.
Как узнать название и тип любой капчи
Часто при посещении определённых сайтов пользователи сталкиваются с капчей, но не всегда понимают, что это за капча и как она называется. Чтобы определить её тип, воспользуйтесь Инструментом разработчика (DevTools) и следуйте этим простым шагам:
- Откройте DevTools: нажмите Ctrl+Shift+I (или Cmd+Option+I на Mac) или просто кликните правой кнопкой мыши на странице и выберите "Просмотреть код" (Insert).
- Перейдите во вкладку Elements: здесь отображается HTML-код страницы. Используйте её, чтобы найти нужный элемент капчи.
- Найдите элемент капчи: кликните на иконку выбора элемента (выглядит как стрелочка в левом верхнем углу панели DevTools) и выберите капчу на странице, выделив соответствующий HTML-код.
- Изучите HTML и атрибуты: посмотрите на HTML-код выделенного элемента. Капча имеет уникальные идентификаторы или классы, которые помогут определить её тип (например, class="g-recaptcha" для Google reCAPTCHA).
- Перейдите на вкладку Сеть (Network) и обновите страницу, если нужно. Здесь можно увидеть все сетевые запросы, связанные с капчей. Поиск запросов к API или скриптам может дать подсказки.
- Во вкладке Источники (Sources) или Сеть (Network) найдите скрипты, которые загружают или инициализируют капчу, это может дать дополнительную информацию о её типе и источнике.
Смело используйте этот полезный инструмент! Экспериментируйте с разными элементами, и вы не только узнаете, какой тип капчи используется, но и получите представление о работе других интересных элементов и объектов, связанных с капчей.
Какие типы капч поддерживает CapMonster Cloud, как их идентифицировать
Для людей прохождение CAPTCHA обычно не представляет сложности, но для ботов это становится серьёзным барьером. Хотя многие автоматизированные системы используются не во вред, а для тестирования сайтов, безопасного парсинга и автоматизации рутинных задач, защитные механизмы всё равно могут замедлить и усложнить их работу. Обход капчи требует значительных усилий и времени для адаптации кода. Сервис CapMonster Cloud существенно упрощает этот процесс, предлагая решения для большинства популярных типов CAPTCHA:
- reCAPTCHA v.2, v.3, reCAPTCHA Invisible, reCAPTCHA Enterprise
- HCaptcha
- GeeTest
- Cloudflare Turnstile и Challenge
- Текстовая капча
- DataDome
- TenDI
- Amazon CAPTCHA и Challenge
Чтобы отправить задачу для решения капчи на сервер CapMonster Cloud, важно знать её тип и точную версию. Давайте более подробно разберём каждый тип капчи, её особенности и поиск её идентификационных данных, чтобы в процессе работы с веб-сайтами вы легко могли определить любую капчу и успешно разгадать её с помощью CapMonster Cloud!
reCAPTCHA
reCAPTCHA разработана компанией Google. Эта технология использует комбинацию методов анализа истории браузера, поведения пользователя, IP-адреса и других индикаторов, чтобы отличить человека от робота. Если reCAPTCHA обнаруживает что-то подозрительное, пользователю может быть предложено пройти тест для подтверждения своей "человечности". Современные версии reCAPTCHA в основном включают в себя:
reCAPTCHA v2: в этом случае пользователю нужно отметить флажок "Я не робот", либо выполнить задание, например, выбрать все изображения с определённым объектом (мотоциклы, автомобили, светофоры и т.д.). В качестве альтернативы предлагается аудио-капча.
reCAPTCHA v3: эта версия не требует взаимодействия с пользователем. Она анализирует поведение пользователя на странице и присваивает ему некоторую оценку – score (1,0 – скорее всего, реальный посетитель, 0,0 – скорее всего, бот). При низкой оценке могут быть вызваны дополнительные проверки.
Invisible reCAPTCHA: относится к v2, но без видимого чекбокса. Как и v3, она запускается в фоновом режиме и требует взаимодействия с пользователем только в случае подозрительного поведения. Визуально не отличается от reCAPTCHA v3.
reCAPTCHA Enterprise: более расширенная версия для защиты веб-сайтов.
Как отличить reCAPTCHA v2 Invisible от reCAPTCHA v3 и reCAPTCHA Enterprise?
Видимую reCAPTCHA v2 можно отличить по чекбоксу и предложению выполнить задания. Невидимые капчи можно отличить по следующим признакам: reCAPTCHA v2 Invisible имеет элемент с атрибутами data-sitekey и data-callback:
reCAPTCHA v3 – во вкладке Сеть можно увидеть запрос с ключевым словом “render”:
reCAPTCHA Enterprise (одинаково для версий 2 и 3) можно определить по ключевому слову “enterprise”, например, в запросах:
Как решать HCaptcha с помощью CapMonster Cloud - ReCaptcha v2, ReCaptcha v3, RecaptchaV2Enterprise, ComplexImageReCaptcha
HCaptcha
HCaptcha аналогична reCaptcha, только более ориентирована на приватность пользователей. Этот популярный сервис тоже предлагает несколько способов проверки пользователей. В основном это выбор некоторых объектов на изображении, однако иногда некоторые задачи бывает сложно пройти не только ботам, но и реальным посетителям сайтов.
Типы HCaptcha
HCaptcha Checkbox – наиболее распространённый тип HCaptcha, который аналогичен reCAPTCHA v2 Checkbox. Пользователь видит чекбокс с надписью "I'm not a robot" ("Я не робот") и должен поставить в нём галочку. Если всё хорошо, этого действия бывает достаточно, чтобы пользователь дальше мог продолжать работу с сайтом. Если же система подозревает автоматизированное поведение, пользователю может быть предложено выполнить дополнительную задачу, например, выбрать определенные элементы.
HCaptcha Invisible работает в фоновом режиме, без необходимости действий от пользователя, пока не возникает подозрение в автоматизированных действиях. Если система определяет потенциальную угрозу, она может выдать капчу. В большинстве случаев её вообще не видно на сайте.
HCaptcha Enterprise предоставляет расширенные возможности интеграции с корпоративными системами, которые имеют высокие требования к безопасности. Имеет более гибкие настройки проверки и возможность адаптации под разные сценарии использования, а также поддерживает аналитику и отчётность.
Как отличить типы HCaptcha?
HCaptcha Checkbox легко определить по явному наличию чекбокса на странице. Имеет элемент <div> с классами, которые содержат слово h-captcha или hcaptcha-checkbox:
HCaptcha Invisible можно определить по ключевому слову “invisible” в запросах или среди элементов:
HCaptcha Enterprise может выглядеть как обычная капча, но обычно включает более сложные и многоуровневые задания. В её коде (который выглядит более расширенным по сравнению с обычной HCaptcha) скрыты дополнительные настройки и повышенные параметры безопасности.
Ссылки для более подробного ознакомления и решения HCaptcha через CapMonster Cloud - ссылка 1, ссылка 2
GeeTest
GeeTest предлагает интерактивные головоломки, например, выбор некоторых объектов в определённом порядке, решение пазла с передвижением ползунка или просто клик в определённом месте. GeeTest использует адаптивные технологии, чтобы минимизировать неудобства для реальных пользователей, одновременно повышая сложность для автоматизированных систем.
Этот тип капчи представлен двумя версиями: v3 и v4 (Adaptive CAPTCHA). Четвёртая версия отличается большей гибкостью — она автоматически регулирует сложность задачи. Для реальных пользователей капча остаётся простой и легко решаемой, но если система заподозрит автоматизацию, уровень сложности, соответственно, возрастёт. Как и во многих других типах капчи, в качестве альтернативного прохождения имеется аудио-режим.
GeeTest v3
Эта версия поддерживает несколько режимов капчи: Intelligent mode, Slide CAPTCHA, Icon CAPTCHA и Space CAPTCHA.
GeeTest v4
Аналогично третьей версии, также имеет несколько основных режимов прохождения: Slide CAPTCHA, Icon CAPTCHA, IconCrush CAPTCHA, Image CAPTCHA, Gobang CAPTCHA, NoCAPTCHA.
NoCAPTCHA - самый простой режим, от пользователя требуется только нажатие кнопки “Click to verify”, далее, если при фоновой проверке подтверждается “человечность” пользователя, появляется сообщение “Verification Success”
Отличия v3 и v4:
Отличить версии GeeTest с помощью Инструментов разработчика можно, например, по таким параметрам:
v3:
- использует два ключевых параметра для инициализации: gt (GeeTest ID) и challenge (уникальный идентификатор сессии);
- скрипт для версии 3 часто загружается с URL-адресов, содержащих путь /gt.js;
- отправляет запросы на сервер с адресами, содержащими /validate.php или /get.php
v4:
- в версии 4 скрипт может загружаться с путей, содержащих v4;
- вместо gt используется captcha_id:
Как решать GeeTest через CapMonster Cloud
Cloudflare Turnstile и Challenge
Компания Cloudflare предоставляет альтернативу капче с заданиями. Проверка проходит нажатием по кнопке “Verify you are human” или в фоновом режиме, основанная на настройках и сигналах браузера, поведении пользователя и сетевых данных. Если посетитель успешно проходит проверку – его запрос будет обработан. Если нет – запрос заблокируют. Есть два механизма данного типа капчи: Turnstile и Challenge page.
Turnstile
Виджет Turnstile встроен в сам сайт, где необходима защита. Типы виджетов Turnstile бывает такими:
- Неинтерактивная проверка: без действия пользователя, проверяет сигналы от браузера и устройства для выявления ботов.
- Неинвазивная интерактивная проверка: требует минимального взаимодействия (например, установка флажка), если есть подозрения на автоматические действия.
- Невидимая проверка для браузера: работает в фоновом режиме, без визуальных элементов для пользователя.
Challenge
При попытке перейти на целевой сайт пользователь перенаправляется на отдельную страницу с проверкой, требующей подождать 5 секунд или установить галочку напротив “Verify you are human” . Этот метод может быть более навязчивым, поскольку требует от пользователя выполнения дополнительных действий, чтобы получить доступ к сайту.
Типы проверок с использованием Challenge page:
Managed challenge (рекомендуется): Cloudflare автоматически выбирает подходящий способ проверки в зависимости от запроса. Это помогает избежать CAPTCHA и снижает время, которое пользователи тратят на решение проверок.
JS-Challenge: не требует действий от пользователя, только обработки JavaScript в браузере. Обычно занимает менее пяти секунд.
Интерактивная проверка: требует от пользователя взаимодействия с проверочной страницей (например, нажатия кнопки).
Challenge при использовании DevTools проще всего можно распознать по следующему признаку: при первом запросе к целевому сайту возвращается код ответа 403:
Как решать Cloudflare через CapMonster Cloud
Текстовая капча (ImageToText)
Это тип капчи, который при проверке просит пользователя распознать и ввести текст, отображаемый на изображении. Может состоять из набора букв, цифр, целых слов или специальных знаков. Раньше это был самый популярный способ проверки пользователей на ботов, но сегодня он всё реже встречается, уступая место более современным и эффективным решениям.
Определить наличие ImageToText капчи можно по следующим признакам:
Капча состоит из изображения и поля для ввода распознаваемого текста. Изображение может быть вставлено с помощью тега <img> с указанием src, который ссылается на файл с изображением CAPTCHA, а поле для ввода содержать тег <input> с типом text:
Для поиска элемента <img>, который загружает изображение, можно воспользоваться JavaScript-кодом в Консоли:
Как решать текстовую капчу через CapMonster Cloud
DataDome
Как и другие аналогичные продвинутые системы, DataDome использует серверные и клиентские методы для обнаружения ботов, анализируя поведение пользователей, их геолокацию, сетевые данные, отпечатки браузеров и другие параметры с помощью многослойных алгоритмов машинного обучения. DataDome способен даже определить автоматизированные браузеры (Selenium, Puppeteer, Playwright), а также может использовать обфускацию JavaScript для затруднения анализа своего кода.
Определить наличие защиты DataDome на сайте позволяет загрузка JavaScript файла от DataDome:
DataDome содержит специфичные cookies (можно получить на странице с помощью "document.cookie" или в заголовке запроса Set-Cookie: "datadome=..."), например:
Как решать DataDome через CapMonster Cloud
Tencent captcha (TenDI)
TenDI Captcha тоже использует передовые и продвинутые комплексные методы проверки пользователей, включая анализ траектории, идентификацию характеристик и другие механизмы безопасности. Реальный пользователь может и не заметить наличия проверки на целевом сайте, но если система заподозрит использование автоматизации, тогда может инициироваться капча.
Tencent captcha предоставляет несколько типов проверки:
Слайдер CAPTCHA: простая проверка, где пользователи просто перемещают ползунок.
Графическая CAPTCHA: требует последовательного клика на формы в изображении.
Непрерывная CAPTCHA: система автоматически оценивает риск и возвращает результат проверки через API, не требуя от пользователя ответов. Подходит для улучшенного пользовательского опыта.
Аудио CAPTCHA: в качестве альтернативы предлагается проверка на основе аудио, где пользователи вводят содержание прослушанного аудио.
Также используется Smart проверка: интеллектуально определяет характеристики пользователей, позволяя проверять лишь тех, кто вызывает подозрения.
Определить наличие Tencent проверки на сайте можно, например, по загружаемому скрипту TCaptcha:
В запросах используется URL – https://ca.turing.captcha.qcloud.com
Как решать Tencent captcha через CapMonster Cloud
Amazon CAPTCHA и Challenge
Captcha и Challenge от AWS WAF (веб-сервис Amazon) – два механизма проверки пользователей для защиты сайтов. Чем они отличаются:
CAPTCHA предлагает пользователю решить задачи, такие как ввод текста (используется реже), перемещение слайдера, выделение объектов на изображении или прослушивание и ввод слов из аудио.
Challenge работает в фоновом режиме, анализируя параметры сессии и поведение запросов (например, частота запросов, использование JavaScript, поведение мыши, куки). Если проверка успешна, пользователь продолжает работать с сайтом. В противном случае запрос может быть заблокирован или пользователю будет предложена CAPTCHA для дополнительной проверки. Система может повысить уровень проверки при обнаружении признаков автоматизации.
Как отличить Challenge и CAPTCHA
Challenge: фоновая проверка, нет видимого интерфейса, но в запросах можно увидеть заголовки и данные, связанные с анализом сессии.
CAPTCHA: видимые элементы проверки, например, выбор изображений, а также специфичные запросы и ответы на сервер CAPTCHA.
В коде капчи присутствует GokuProps Script, а также ссылки на challenge.js и captcha.js:
Как решать Amazon CAPTCHA и Challenge через CapMonster Cloud
Итак, мы разобрали основные популярные типы капч, их общее функционирование и способы идентификации. Конечно, существует ещё множество других аналогичных видов капч, но, опираясь на информацию из этой статьи, вы легко сможете определить их тип и продолжить с ними работу. Каждая капча уникальна и имеет свои методы защиты — от традиционных текстовых вариантов до современных адаптивных систем. Мир технологий не стоит на месте, и важно следить за новыми изменениями в методах защиты.
Надеемся, что эта статья оказалась для вас полезной и помогла разобраться в различных аспектах капч и их обходе. Советуем вам экспериментировать с Инструментами разработчика, чтобы лучше понять, как работают эти системы, и использовать CapMonster Cloud для эффективного решения задач, связанных с капчами!
NB: Напоминаем, что продукт используется для автоматизации тестирования на ваших собственных сайтах и на сайтах, к которым у вас есть доступ на законных основаниях.