Как распознать капчу программой

Получи нашу книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подпишись на рассылку и получи книгу в подарок!

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

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

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

Как обойти капчу. Взлом сайта

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

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

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

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

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

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

Например, капча хранится в поле 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.

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

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

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

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

Источник: semantica.in

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

антикапча - Сервисы решения капчи

Антикапча сервисы предназначены для быстрого распознавания капчи. Если вам надоело вводить разные символы вручную, тогда выбирайте себе понравившийся сервис anti captcha.

Рейтинг формируется автоматически на основании оценок пользователей. Любой посетитель может поставить свою оценку от 1 до 5 звёзд.

Обновлено: 08 мая 2023

Рейтинг 4.92 5 ( 318 )
На сайт anti-captcha.com

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

Метод распознавания: ручной.

Стоимость за 1000 капч и скорость разгадывания 1 капчи:

  • Обычная (картинка и текст) — $0.6 — 44 руб. (8 сек.)
  • ReCaptcha V2 — $1.6 — 117 руб. (8 сек.)
  • ReCaptcha V3 — $2 — 145 руб. (8 сек.)
  • FunСaptcha — $2 — 145 руб. (30 сек.)
  • hCaptcha — $2 — 145 руб. (22 сек.)
  • GeeTest — $1.8 — 130 руб. (28 сек.)

Есть плагины для браузеров Google Chrome и Mozilla Firefox. Интегрируется с iMacros.

13 отзывов
Рейтинг 4.84 5 ( 348 )
rucaptcha.com

Стоимость за 1000 капч и скорость разгадывания 1 капчи:

  • Обычная — 44 руб. (15 сек.)
  • ReCaptcha V2/V3, FunСaptcha, hCaptcha и GeeTest — 160 руб. (40 сек.)

Рейтинг 4.73 5 ( 345 )
2captcha.com

Стоимость за 1000 капч и скорость разгадывания 1 капчи:

  • Обычная — $0.77 — 56 руб. (15 сек.)
  • ReCaptcha V2/V3, FunСaptcha, hCaptcha и GeeTest — $3 — 220 руб. (35 сек.)

Рейтинг 4.60 5 ( 333 )
deathbycaptcha.com

Стоимость за 1000 капч — $1.39

Рейтинг 4.48 5 ( 292 )

Сервис антикапчи решает 1000 по цене:

  • Текстовые — 29 руб.
  • ReCaptcha V2 — 97 руб.

18 отзывов
Рейтинг 3.97 5 ( 240 )
botmasterru.com

Программа распознавания методом OCR.

Поддерживает ReCaptcha и текстовые капчи.

  1. Бесплатная версия: точность распознавания – 60-80% со скоростью распознавания – 1 сек.
  2. Версия Ultra (только для владельцев лицензии XRumer): точность распознавания – 90-100% со скорость распознавания – 0,01 — 0,02 сек.

16 отзывов
Рейтинг 3.28 5 ( 53 )
zennolab.com

Программа распознавания методом OCR.

Распознаёт ReCaptcha, KeyCaptcha и текстовые капчи.

Рейтинг 3.26 5 ( 35 )
bestcaptchasolver.com

Только английского языка.

Стоимость за 1000 капч и скорость разгадывания 1 капчи и метод:

  • Обычная (картинка и текст) — $0.6 — 44 руб. (8 сек., ручной)
  • ReCaptcha V2/V3 — $2 — 160 руб. (48 сек., OCR)
  • FunСaptcha — $2 — 160 руб. (OCR)
  • hCaptcha — $1.8 — 130 руб. (OCR)
  • GeeTest — $1.5 — 110 руб. (OCR)

Рейтинг 3.09 5 ( 32 )
skipinput.com
11 отзывов
Рейтинг 2.51 5 ( 251 )
captcha.guru

OCR (для распознавания используется программа Xevil).

Читайте также:
Microsoft office publisher похожие программы

Стоимость за 1000 капч и скорость разгадывания 1 капчи:

  • Обычная — 5 руб.
  • ReCaptcha V2/V3 — 30 руб.
  • hCaptcha — 60 руб.

Рейтинг 2.06 5 ( 222 )
captchas.io

Ручное распознавание капчи.

Поддерживает решение Text CAPTCHA, Audio CAPTCHA, Image CAPTCHA, hCAPTCHA, reCAPTCHA.

  • До 5000 капч в день — $22 — 1600 руб. в месяц.
  • До 7000 — $36 — 2600 руб./мес.
  • 10000 — $68 — 5000 руб./мес.
  • 15000 — $136 — 9900 руб./мес.
  • 17000 — $166 — 12100 руб./мес.
  • 20000 — $196 — 14300 руб./мес.
  • 25000 — $392 — 28600 руб./мес.
  • 27000 — $406 — 29600 руб./мес.
  • 30000 — $798 — 58200 руб./мес.
  • Без ограничения — от $1190 — 86900 руб./мес.

Рейтинг 1.65 5 ( 26 )
captchadecoder.com
Рейтинг 1.14 5 ( 113 )
solvecaptcha.com

Стоимость за 1000 капч и скорость разгадывания 1 капчи:

  1. Обычная (картинка и текст) — $0.6 — 44 руб. (8 сек.)
  2. ReCaptcha V2, FunСaptcha, hCaptcha — $1 — 70 руб. (40 сек.)
  • Сервисы подбора ключевых слов
  • Рейтинг прокси серверов

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

Капча – это полностью автоматизированный общедоступный тест Тьюринга, позволяющий отличить ботов от людей.

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

Здесь мы подготовили рейтинг сервисов и программ которые автоматически решают капчу. Всё, что нужно будет сделать — это зарегистрироваться в сервисе, оплатить нужное количество разгадывания и вставить ключ в вашу программу.

Теперь не нужно сидеть и самому вводить по несколько раз всякие кривые буквы, цифры или тыкать картинки.

Для каждого сервиса anti captcha указана средняя стоимость распознавания, а так же дополнительные опции если таковые имеются.

Методы рапознавания капчи

Существует всего два вида рапознавания:

  1. Ручной (человеческий) — это когда капчи разгадывают специально нанятые люди. Они сидят и получают капчу себе на компьютер по API и отсылают её обратно после разгадывания.
    Такой способ наиболее точный и быстрый.
  2. OCR (англ. optical character recognition) — Оптическое распознавание символов — механический или электронный перевод изображений рукописного, машинописного или печатного текста в текстовые данные, использующиеся для представления символов в компьютере. (ист. Википедия)

Обратите внимание, что сервисы и программы предлагающие распознавание методом OCR не возвращают вам стоимость не разгаданной капчи. Другими словами, когда вы оплачиваете 1000 капч, то возможно от 1 до 10% будет пропущено. Тоесть по сути вы оплачиваете от 900 до 990 капч.

Виды капчи

Условно все капчи можно разделить на два вида:

  1. Текстовые — это когда нужно распознать текст и вписать его.
  2. И с изображениями — это когда нужно выбрать, собрать, повернуть или ещё что то проделать с изображениями.

Обычная капча-картинка — это изображение, на котором размещён искажённый текст. Чтобы решить капчу, нужно ввести правильный текст в поле ниже картинки.

обычная капча вконтакте и яндекс

Такую капчу можно увидеть в социальных сетях Вконтакте и в сервисах Яндекса.

Текстовая капча — не содержит изображений и выглядит в виде просто текста. Для её решения нужно ответить на какой-либо вопрос.

текстовая капча

reCAPTCHA V2 — всем известная капча от Google — «Я не робот». Нужно кликнуть на белый квадратик в форме чтоб подтвердить, что вы человек.

reCAPTCHA V2

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

reCAPTCHA

Встречается на большинстве сайтах.

Invisible reCAPTCHA V2 — вторая версия капчи от Google. Выглядит как маленький квадратик внизу экрана при просмотре сайта. Если посчитает, что вы робот, то появиться поле «Я не робот», как в обычной версии.

Invisible reCAPTCHA

reCAPTCHA V3 — новый вид капчи от Google, основанный на сборе браузерной истории пользователя. Она никаким образом не видна пользователю. С помощью скрытых алгоритмов машинного обучения пользователю присваивается рейтинг (score) от 0 до 1, обычно это 0.1, 0.3, 0.7 и 0.9. Чем меньше значение, тем более алгоритм подозревает пользователя в том, что он робот.

Проверить свой текущий рейтинг можно тут по ссылке.

reCAPTCHA Enterprise — самое последнее решение для сайтов на проверку человечности. Особо ничем не отличается от V3.

Ghost Captcha — это вид капчи при котором вам нужно выбрать одну или несколько картинок согласно текстовому описанию.

Ghost Captcha

KeyCaptcha — выглядит, как незаконченный пазл. Обычно нужно переместить один или несколько пазлов на изображении.

KeyCaptcha

Capy Puzzle Captcha — как и в предыдущем варианте нужно собрать пазл, только выглядит чуть иначе.

Capy Puzzle captcha

FunCaptcha — тут нужно будет повернуть изображения используя стрелки.

FunCaptcha

hCaptcha — выглядит почти как reCAPTCHA, только имеет две страницы проверки.

hCaptcha

Обычно всегда просит пройти проверку.

hCaptcha проверка

GeeTest Captcha — капча от китайских разработчиков на базе искусственного интелекта. Считается самым передовым решением на данный момент 2021 года. Предлагает пользователю три вида решения головоломки и пока он её решает проверяет вашу систему на наличие подозрительных функций.

GeeTest captcha

Первый самый простой вариант — собрать пазл.

GeeTest captcha собрать пазл

Второй — отметить изображения в том порядке в котором указаны в текстовом виде.

Читайте также:
Программа для с помощью можно узнать номер телефона человека

GeeTest captcha отметить по порядку

И третий недавно разработанный — выбрать определённую фигуру.

Источник: 101poisk.ru

IntSystem.org

Случаи из опыта разработки различных WEB проектов. Интересные факты, статьи, впечатления. Программирование и все о нем в сфере WEB.

Главная › Капча › Оперируем капчу на примере

Оперируем капчу на примере

В этой статье, пойдет речь, о еще нескольких приемах распознавания captcha защиты. Эти приемы я буду демонстрировать на подопытной капче. В качестве подопытной я выбрал капчу некоего Rafontes на которую я набрел когда искал материалы для предыдущей статьи Анализ алгоритмов генерации CAPTCHA.

Пример сгенерированной капчи:

Фон мне пришлось использовать другой, так как автор не выложил оригинальный (или я не нашел), но это не повлияет на результат.

Препроцесс

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

В первую очередь нам надо отделить фон от текста. Анализируем картинку и код генерации изображения. Налицо первые ошибки:

  • Используется один цвет для всего теста с кодом
  • Цвет для текста генерируется в диапазоне rand(0, 200), 0, rand(0, 200), для R G B соответственно (достаточно выделить цвета только в этом диапазоне)
  • Фон с большим количеством разных цветов (не сможет повлиять на статистику самого часто используемого цвета)

Теперь на основе этих фактов анализируем цвет каждого пикселя во всем изображении и выделяем самый часто-используемый. Получился 8C0074 (в hex-виде). Задаем от него небольшую погрешность и выделяем этот цвет и немного похожие на него с учетом погрешности. Все выделенные закрашиваем черным, остальные белым. Получается такая картинка:

Как видите, мы получили текст, практически без искажений. Правда осталась одна линия, но у нас хитрый алгоритм обрезки (о нем ниже), на который эта линия повлиять не сможет.

Теперь выделяем участок с кодом.
Так как наш текст это самое темное пятно, то и пытаемся алгоритмически найти это пятно. Сначала определяем границы по горизонтали:

Теперь определяем границы по вертикали:

Линия осталась тут потому что то тот участок до сих пор воспринимается функцией как очень темный участок. Но теперь на основе этих границ уточняем их по второму кругу, по горизонтали:

А почему теперь эта линия убралась спросите вы? Потому что теперь анализировалось меньше «столбцов пикселей» и при анализе алгоритмом выявилось что в данном участке слишком много столбцов с одним черным пикселем, а следовательно это шум. Теперь уточняем границу по вертикали:

Так как область определения стала меньше то, теперь тот та линия что была шумом стала недостаточно темным пятном и была удаленна совсем. Вот мы и получили участок с текстом. Конечно этот алгоритм иногда не совсем верно выделяет нужную область. Но по моим тестам число НЕверных определений не превышает 5%, чем собственно можно пренебречь.

Сегментация

Теперь наша задача разбить полученное изображение на отдельные участки с символами.

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

  • Отступ между каждым символом всегда равен 15 пикселям

Конечно иногда из за размера символов они выходять за рамки пятнадцати пикселей, тогда приходится откусывать от соседнего символа еще один-два пикселя. Но это не критично. Вообщем разбиваем картинку:

Теперь как мы видим вокруг некоторых символов есть пустая область. А нам все таки нужен именно сам символ. Применяем функцию обрезки для каждого символа, и полученные изображения вписываем в прямоугольники размером 17×27:

Именно такие изображения по отдельности будут подаваться на распознавание.

Распознавание

Распознавание мы будет производить БЕЗ всяких новомодных нейронных сетей. Почему? Решающую роль сыграло то что, нет ни одной достойной библиотеки под винду. Пользоваться будем обычным распознаванием по маскам символов.

Для этого мы, имея доступ к исходным кодам, нагенерируем кучу черно-белых картинок для каждого символа с разными углами поворотов (от двух до четырех градусов), и разными размерами шрифта (от 20pt до 30pt). Каждую полученную картинку, как вы догадались, вписываем в прямоугольник размером 17×27. Каждое полученное изображение называется маской.

Для каждой буквы я нагенерировал по 10-15 масок. Впринципе этого достаточно, но если увеличить количество масок, то можно увеличить процент распознавания.

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

Результаты

Для теста я получил с помощью генерации картинки и ее разбиения на символы 200 зашумленных символов. И програмно запустил тест. И внимание!
Итог: Удачных: 172 Ошибок: 28 Процент: 86%
То есть каждый символ на капче будет распознан успешно с вероятностью в 86%!

Немного математики. Посчитаем процент вероятности успешного распознавания капчи:
Для 4-символьных капч: 0.86^4=54%
Для 5-символьных капч: 0.86^5=47%

В среднем каждая вторая капча будет успешно распознанна.

Если учесть что на каждую капчу приходится около 1 секунды, а 2 секунды в среднем будет приходится на успешное распознавание. То это очень отличный результат.

Исходники

Архив со скриптами (на php):
CaptchaBreaker_scripts
Архив масок (распаковать в папку ./masks/):
CaptchaBreaker_masks

Скрипт сам генерирует, и сам же распознает капчу. Пример работы скрипта на картинке приведенной в качестве примера автором капчи:

Источник: intsystem.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru