Капча

Циклы статей о распознавании капч. Алгоритмы распознавания изображений. Теоретические и практические примеры.

Теперь в РБК есть абзац про меня :)

1 комментарий

Ну вот, только сейчас заметил что про меня немножко написали в РБК:

Бесконечная война

Автор блога IntSystem.Org Дмитрий Амиров, утверждающий, что взломал Keycaptcha, называет captcha атавизмом, который заставляет пользователя совершать ненужные действия, не обеспечивая должной защиты. «Это раньше распознавание символов с картинки для компьютеров было сложной задачей, сейчас все это обходимо, с пазлами — то же самое, — объясняет Амиров РБК. — Взломщик, если задастся целью, сможет легко обойти любую интерактивную капчу. Очевидно, на смену ей должны прийти более продвинутые технологии». По его словам, на написание алгоритма для сбора мозаики Keycaptcha у Амирова ушел всего один вечер. Гарантировать стопроцентную защиту не может ни одна captcha, задача иная — сделать процесс взлома экономически нецелесообразным, парирует Владыкин.

Для тех кто не понял, это относится к моей статье про взлом KeyCaptcha.
Читать далее →

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

13 комментариев

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

Когда то давным-давно (наверное полгода-год назад) я обещал опубликовать эту статью. И вот наконец — свершилось! Я ее публикую :)

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

Так kcaptcha — довольно известная реализация капчи на PHP, гуглится на первой странице по запросу «капча», и выглядит следующим образом:

2

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

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

Содержание

Введение
1) Приведение к черно белому виду
2) Выделение фрагмента с кодом
3) Предварительная обработка
4) Разбиение картинки на фрагменты
5) Поиск ключевых узлов
6) Сравнение с базой масок
Заключение

Итак, поехали… (далее очень много букаф и картинок)

Читать далее →

Интеллектуальное распознавание капчей

13 комментариев

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

Так что имейте ввиду, я не врал когда говорил что любую капчу можно обойти :D

Итак, вернемся к делу. Предлагаемый мной метод к сожалению подходит не для любой реализации капчи, так как не все их реализации уязвимы к моей атаке, но на уязвимых капчах мой метод гарантирует практически 100%-ое распознавание, плюс дает возможность самообучать систему распознавания.
Читать далее →

Автоматическое распознавание KeyCaptcha

64 комментария

Вот мое видео демонстрирующее процесс автоматического распознавания капчи KeyCaptcha

Как видите у меня получилось взломать KeyCAPTCHA. Как же это реализовано? Читать далее →

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

66 комментариев

Здравствуйте!

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

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

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

Анализ алгоритмов генерации CAPTCHA

20 комментариев

Введение

Эта статья выходит как продолжение статьи Какой должна быть капча?

Здесь мы рассмотрим существующие решения различных защит CAPTCHA их минусы и плюсы, стойкость к распознаванию и читаймость со стороны человека.

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

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

2) От целенаправленного взлома капчи. Это когда кто то садится писать программу-анализатор целенаправленно под вашу защиту, учитывая все особенности генерации вашей капчи.

Защищаясь от случайных спам ботов достаточно будет реализовать какую нибудь простенькую защиту на JS без картинки. Или если вы таки решились на CAPTCHA то достаточно будет очень простой капчи.

А вот от целенаправленного взлома вас не спасет ни один алгоритм. Тут скорее вопрос в том сколько ресурсов готов потратить взломщик на вашу защиту. Если ему понадобится для этого нанять десяток программистов, а также арендовать пару десятков серверов, то я думаю он откажется от этой затеи.
Читать далее →

Какой должна быть капча?

13 комментариев

Сейчас можно заметить что капчу используют везде, где надо и где не надо. Да и, к сожалению, не всегда капчу делают «правильной». Для начала что такое капча. CAPTCHA — разновидность теста Тьюринга.

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

Все программисты рано или поздно задумываются о том как же им защитить свой сайт от спам-ботов. И все начинают с того что вводят на своем сайте капчу. То есть любой программист вводя captcha, ставит перед собой задачу отловить все компьютеры, но оставить доступ реальным людям.

Вообщем как выглядит обычная капча думаю знают все. Но вот есть одна беда. Очень часто разработчики задумываются только об одной проблеме — «как защитить свой сайт от спама». Но ввод этой защиты на своем сайте добавляет и другую проблему. В данной статье я расскажу вам о золотом правиле капчи, которое я вывел. А также о том какой должна быть captcha. Читать далее →

Реализация Captcha без БД

16 комментариев

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

  • Хранение некоего ключа в базе данных
  • Хранение некоего ключа в сессии
  • Без хранения каких либо данных

Минусы первых двух видов — это необходимость работы с файлами (для БД — операции запись/чтение, а  для сессий это еще и создание файлов). Плюсы же — это высокая защищенность и простая реализация.

На данный момент все известные реализации капчи из третьей категории являются не защищенными. Но плюс у них — это отсутствие работы с файлами. Допустим при массовой атаке спам ботов не засирается таблица в БД и не засирается папка с сессиями. Читать далее →