MAC Affiliate Conference in Armenia 30-31 мая 2024 года Подробнее
Получи нашу книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».
Подпишись на рассылку и получи книгу в подарок!

Капча — тест на человечность, используемый для защиты ресурса от спама и роботов. Но честным людям она мешает, например, проверить позиции сайта. Поэтому ее взламывают с помощью инструментов, основанных на слабых местах технологии. Сегодня расскажем, как противостоять капче.

Кому нужно обходить капчу

Ее обходят не только спамеры для создания большого количества новых ящиков, комментариев на форумах, страниц в социальных сетях для дальнейшего распространения спама. Защиту нужно обходить и честным компаниям для получения результатов в автоматическом режиме. Например, владельцу сайта для проверки позиций в поисковой системе или ресурсам, занимающимся автоматическим сбором тематической информации.

Грубый перебор всех вариантов

Еще когда создавались капчи, вопросы и ответы придумывали вручную и их было ограниченное количество. Это значит, что побыв некоторое время на сайте и собрав все возможные ответы, их можно было собрать в базу данных и использовать для взлома.

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

Получение имени поля

Как взломать: достаточно взять имя поля капчи из кода и с помощью программы перехватывать его значение, если оно никогда не меняется.

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

Например, капча хранится в поле Captcha. Тогда очень просто создать программу, которая будет читать значение из него. Подобрать имя можно вручную или использовать базы наиболее популярных, которые хранятся в открытом доступе. Однако, если имя постоянно называется по-иному и не просто словом, а например, последовательностью букв «fghtn» или «qpvbn», то отследить это будет сложнее. И наиболее безопасный вариант: зашифровать эту последовательность.

Обход капчи с помощью OCR

OCR — технология распознавания текста для преобразования в цифровой вид, доступный для редактирования. Пример популярной программы — ABBYY FineReader. Из бесплатных, но менее известных: gocr. Все что нужно: настроить необходимые параметры и загрузить картинку.

Метод также используется для распознавания капчи онлайн. Программа считывает картинку и вводит значения в поле. Как работает алгоритм внутри:

  1. Изображение с буквами или цифрами очищается от шумов для четкого распознавания символов.
  2. Оно разбивается на отдельные фрагменты с одним знаком.
  3. Каждый символ сравнивается с оригиналами, заранее загруженными в базу.
  4. В конце выводится итоговое значение.

Для защиты от взлома с помощью OCR, создаются специальные капчи с большим количеством шума, непонятными символами. Знаки могут быть так искажены, что даже человек с первого раза не найдет правильный ответ.

Для обхода нужно найти разные оригиналы, чтобы в большинстве случаев система смогла правильно определить символ. Нужны разные шрифты и кодировки.

Как защищают капчу от OCR:

  • накладывают на изображение шумы того же цвета, что и основные символы;
  • добавляет лишние знаки и отдельно текстом просят ввести лишь некоторые из них, а не все подряд (как сделает это робот);
  • буквы и цифры располагают на разном уровне;
  • используют уникальное, нестандартное оформление.

Применяемые меры препятствуют автоматическому вводу символов.

Написанные скрипты

Этот способ не является полноценным для обхода. Его используют как вспомогательный, что система OCR могла максимально четко опознать символы.

Программист пишет с использованием специальных библиотек скрипт, который:

  • предварительно очищает картинку от шума, лишних знаков, фона;
  • работает с цветами, чтобы они не мешали процессу распознавания;
  • обрезает ненужные области, оставляя только знаки;
  • выравнивает текст.

Далее изображение отправляется на распознавание другими методами.

Использование прокси

Прокси-сервисы позволяют пользователю находится в сети анонимно. Таким образом, он скрывает свой настоящий IP-адрес, местоположение и другую информацию о себе. Отследить его становится невозможным без специального оборудования, поэтому блокировка по IP не совсем удачна.

Для обхода нужно иметь доступ к базам прокси-сервисов. Они могут быть как бесплатными, там и распространяться коммерчески на закрытых сайтах. Основной алгоритм состоит в постоянной смене IP. В этом случае сайт может и не выдавать капчу, потому что одни и те же действия совершаются разными адресами.

Этот способ обхода был придуман одним из первых.

Как с помощью Google взломать его же капчу

В 2017 году один разработчик выложил в своем блоге способ обхода reCaptcha от Google, детально описав весь процесс.

Этот вид капчи отличается от остальных тем, что пользователю показывается изображение, деленное на несколько частей. Его просят указать все фрагменты, на которых изображен предмет X. Он отмечает их галочками, и если все верно, ответ засчитывается. У нее есть также аудио-аналог, когда робот называет цифры, и текстовый с тестом, который решит может только человек.

Основной алгоритм был следующим. Нужно было скачать аудиофайл и переконвертировать его в формат WAV, который распознает Google Speech Recognition API. В результате он получал цифровую последовательность, которую загружал на сайт и получал готовую капчу. Если попадался именно текстовый вариант, то страница просто обновлялась до тех пор, пока не будет именно аудиоформат.

Рекомендации по выбору инструментов

  1. Ориентируйтесь на соотношение цены и объема работы. Для распознавания нескольких тысяч капч в день выбирают более дорогие варианты программ, способных обрабатывать много информации. Если цели меньше, подойдут онлайн-сервисы, большинство которых бесплатны.
  2. При выборе бесплатного сервиса, проверяйте на наличие дополнительных ограничений. В идеале, их не должно быть. Например, лимиты на распознавание или триал-время.
  3. Если вы останавливаетесь на бирже с исполнителями, проверьте ее репутацию, прочитав отзывы на различных источниках. Некоторые разводят не только исполнителей, но и заказчиков.
  4. Скачивайте программы с проверенных источников. Сейчас на рынке становится меньше программ, их вытесняют серверы, которые не нужно устанавливать на компьютер и работают они круглосуточно.

Программы и сервисы для распознавания капчи

Из программ по распознаванию капч можно выделяется CapMonster 2. Она основана на технологии OCR. Стоимость зависит от количества поток — 1, 5 и 20, и соответственно, 37$, 57$, 97$.

Основные возможности:

  • высокая производительность — миллионы капч за сутки;
  • большая база поддерживаемых капч;
  • обучение новым типам капч как со стороны разработчиков, так и со стороны пользователя;
  • покупка дополнительных поток для профессионального тарифа.

Вернуть программу можно в течение 14 дней после покупки, а абонентская плата вносится ежегодно.

Биржи с исполнителями — универсальное решение. Во-первых, капчи распознаются за естественное время. Роботы работают быстрее человека в несколько раз, поэтому сайт, использующих защиту, увидит по статистике взлом. Но если капчу вводит человек, то аналитика будет в пределах нормы.

Во-вторых, доступны все виды капч, которые можно распознать человеком. Это не гарантирует 100% обхода, потому что все могут ошибаться.

В-третьих, это дешево. Обычно до 50 рублей за 1.000 штук, но за сложные может быть и 150.

Примеры бирж с исполнителями:

  1. ruCaptcha.
  2. Х-Captcha.
  3. Anti-Captcha.
  4. 2Captcha.

Уточняйте правила работы с сервисами в правилах пользовательского соглашения.

Подводим итоги

Программисты могут допускать ошибки из-за невнимательности, из-за недостаточного тестирования либо просто из-за незнания. Хакеры пользуются изъянами в безопасности и находят способы разрушить систему. Создаются специальные программы для автоматического распознавания капчи и сервисы онлайн, которые работают и платно, и бесплатно.

Подпишись на обновления блога