Как взломать капчу – Как спарсить капчу, которая обновляется при каждом запросе? — Хабр Q&A

Как убрать капчу — Или как обойти капчу я не робот

Введение:
Каждый человек, который хоть изредка серфит по интернету, встречался с таким явлением как капча. Она бывает разная и создана для того, чтобы помешать ботам и разному спаму начать засорять сайт или форум всяким «мусором». Стоит отметить, что способ как способ защиты, капча очень хорошо справляется со своей целью, но очень быстро надоедает пользователям. Ведь она тратить и время, и нервы (чаще всего капча – это перекошенные символы, различить которые сложно даже обычному человеку). Но, как и любую защиту, капчу можно обойти. И так, как убрать капчу?

Виды капч

Капчи бывают различных видов, но не особо отличаются по сложности. Вот их разновидности:

  1. Арифметическое действие.
    Элементарный математический пример (1+1, 2 х 2 и т.п). Очень редко в такой капче встречаются сложные примеры, для решения которых нужно хорошо знать математику. На такой ресурс точно не прорвется ни один бот.
  2. Картинки.
    В данном случае пользователю нужно будет либо составить из несколько «кусков» полноценную картинку, либо отметить нужные по условию изображения («Выберете все фотографии, где есть витрины» и т.п).
  3. Искаженные символы.
    Система генерирует случайный «перекошенный» набор символов, который нужно будет расшифровать и ввести в специальное поле. Даже люди не всегда угадывают её с 1 раза, не то, что роботы.

Как убрать капчу создателю сайта

Капча может не только служить для защиты сайта, но и «отпугивать» реальных людей. Тем более, многие ставят её просто так, потому что это «круто». А ведь так можно отпугнуть потенциальных клиентов.
Вот, что нужно сделать для отключения капчи:

  • Нужно зайти в редактор/админ панель/админку ресурса (это все одно и то же, тут кому как удобнее понять).
  • Найти пункт «настройки» и зайти в него.
  • Ищем подпункт «настройки и комментарии», после чего заходим в опцию «проверка по слову» (название может отличаться) и отключаем её.

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

Как обойти капчу «простому смертному»:

  1. Динамический IP.
    Это платная услуга, которая предоставляется VPN-провайдерами. Она обеспечивает полную анонимность в сети, т.к IPадрес будет меняться при каждом новом подключении к сети. Сам сайт просто не «догонит», кто на него зашел.
  2. РуКапча.
    Существуют сервисы, которые разгадывают капчу в автоматическом режиме. Но услуга эта платная, т.к разгадывают её такие же люди (т.е они деньги получают, а пользователь их платит). Зато можно освободить время и сохранить нервы.
  3. Расширения.
    Можно покопаться в настройках браузера. Например, в том же гугле можно включить AdBlock и капча больше не побеспокоит.

Итого:
В этой статье мы с вами выяснили как убрать капчу. Капча не является такой уж и большой проблемой. С ней можно легко справиться, главное не намудрить с VPN или того похуже. А возможно кто-то попробует «подработать» разгадывателем капчи. В любом случае, у неё есть свои плюсы и минусы. Больше всего о них задумываться стоит именно создателям сайта, ведь страдает именно их посещаемость и защита. Поэтому нужно выбрать то, что приоритетнее.

Ломаем captcha. Тестовое погружение в тему.

Продолжаем бороться с роботами. Возьмём спам-бот на мушку и стрельнем пару раз.

Вводная

Википедия: Captcha:

«CAPTCHA (от англ. «Completely Automated Public Turing test to tell Computers and Humans Apart» — полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей) — торговая марка Университет Карнеги — Меллона, компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. Термин появился в 2000 году. Основная идея теста: предложить пользователю такую задачу, которую легко решает человек, но которую невозможно (или крайне трудно) научить решать компьютер. В основном это задачи на распознавание образов.»

Углубляемся в проблему

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

Итак, есть простые и элегантные способы обойти капчу:

Уязвимости защиты

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

Угадывание

Если количество вариантов ответов невелико, компьютер или ботнет может попытаться угадать ответ. Например, если задача — среди 10 картинок отметить животных, получается всего 210=1024 варианта ответа. Значит, в среднем один из 1024 запросов пройдёт CAPTCHA. То есть, даже при производительности 1 запрос в секунду (реальная цифра, например, для ADSL) можно производить 3,5 успешных запроса в час. Боты используют несколько параллельно выполняющихся потоков, благодаря чему производительность бота зависит только от полосы пропускания, отданной ему в распоряжение.

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

Существуют программы, распознающие конкретные реализации CAPTCHA, к примеру, PWNtcha. Кроме того, существует возможность подключать модули из программ распознавания текста общего назначения (например, Fine Reader) в программы сторонних разработчиков для распознавания картинок CAPTCHA.

По отношению к автоматизированному распознаванию существуют понятия «слабая CAPTCHA» и «прочная CAPTCHA». В числе «слабостей» — фиксированный шрифт, фиксированное положение символов, отсутствие искажений, отделение символов от фона с использованием цветового ключа или размытия по Гауссу, лёгкое отделение символов друг от друга и т. д. Впрочем, иногда бывает, что прочная CAPTCHA оказывается труднораспознаваемой и для человека. Изредка встречается CAPTCHA, легко прочитываемая компьютером и с большими трудностями — человеком (например, с неконтрастной картинкой).

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

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

Есть способ «распознавания», использующий человеческих ресурс и ресурс высокопосещаемых сайтов, например, сайтов порно-тематики. Робот скачивает CAPTCHA с интернет-сервиса и показывает его пользователю порносайта, с просьбой ввести код, который он видит на картинке. Взамен пользователь получает доступ к ресурсу, а робот узнаёт код, изображенный на картинке («метод леммингов»). Вариантом этого метода является сервис »Captcha Exchange Server», запущенный в марте 2007 года и направленный на обход картинок CAPTCHA, используемых файлообменниками. Принцип работы сервиса основан на системе баллов, которые пользователь может заработать, распознав картинки для других пользователей, и позже потратить, запустив программу автоматического скачивания с файлообменников, при этом картинки будут распознаны другими пользователями сервиса. Таким образом, пользователь может оптимизировать затраты своего времени и денег, набирая баллы, когда он всё равно находится у компьютера, и тратя их, когда ему более удобно скачивать (например, в случае, если ночью доступ в интернет обходится дешевле).

Несмотря на уязвимости, это не означает, что любая CAPTCHA-защита априори бессмысленна. Тут наблюдается извечный принцип соревнования оружия и защиты (снаряда и брони).

Ну что? Впечаплились?! Это общеизвестная информация, а значит вряд ли станет для нас серьёзным оружием…

Варианты реализации

Связка Captcha+CAPTCHA Pack даст нам такие виды капчи:

  • ASCII art CAPTCHA
  • CSS CAPTCHA
  • Foo CAPTCHA
  • Image CAPTCHA
  • Lost character CAPTCHA
  • Math CAPTCHA
  • Phrase CAPTCHA
  • Random CAPTCHA type
  • Captcha Riddler
  • Text CAPTCHA
  • Word list CAPTCHA

Скриншоты приложены к статье — см. ниже.
Зачем это нужно?! Чем более редкий алгоритм — тем меньше вероятность, что его взломают. Если все сайты на друпал будут использовать один вариант защиты, то имеет смысл вложить и деньги, и время для его взлома, потому что в итоге спамер получит доступ ко всем сайтам на друпал! Хорошая награда.

Варианты обхода защиты

Кроме тех, которые перечислены выше нашёл ещё несколько полезных для изучения статей:

  • человек! — очень обширная статья. Рекомендую!
  • Битрикс — обход алгоритма (2006 год). Уже исправлено.
  • капч — внушительный список. Все основные операторы мобильной связи в Украине! Правда всё на английском, но зато есть картинки…

Ссылки

  • http://www.captcha.net/ Страница проекта
  • http://www.captcha.ru/ CAPTCHA.ru — есть описание взломов распространённых форумов, предлагают свой вариант.
  • http://blockspam.ru/ CAPTCHA 3D — генерация трехмерной CAPTCHA
  • http://www.deniso.info/blog/?p=23 Альтернативная каптча для форума phpBB
  • http://www.cryptographp.com Cryptographp — PHP Captcha
  • http://www.captcha.net The Captcha Project
  • http://captcha.megaleecher.net/ Декодирование CAPTCHA с использованием PHP
  • http://www.w3.org/TR/turingtest/ Inaccessibility of CAPTCHA / W3C
  • http://ocr-research.org.ua/ Декодирование CAPTCHA, своя 3D-CAPTCHA
  • http://captcha.opti-mail.net Описание графической CAPTCHA, не связанной с распознаванием надписей
  • http://dvk.com.ua/rapid/ Captcha Exchange Server
  • http://recaptcha.net/ reCAPTCHA, проект оцифровывания книг силами пользователей через CAPTCHA-формы]. Пробовал. Во-первых, сайт предоставляет форму для капчи полностью на английском языке, а во-вторых, я не совсем доверяю этой методике. Если они предлагают распознавать нераспознанные книги, то как они проверят правильность ввода пользователем того, что он видит на отсканированной картинке. Меня это настараживает!
  • http://www.xakep.ru/post/31268/default.asp Взлом Captcha на SecLab by Sachk
  • http://www.xakep.ru/post/39206/default.asp Взлом Captcha на ItSec by Sachk
  • http ://www.xakep.ru/post/40691/default.asp Взлом Captcha на ФМС by Sachk
  • http://www.captchabot.com Распознавание Captcha — это враг, но его нужно знать в лицо! 3 цента за каждое корректное распознавание.
  • http://users.altupdate.ru/cap/ Программа быстрого распознавания текстов картинок на основе обучающих шаблонов — тоже интересно посмотреть, что уже было взломано и не питать ложных иллюзий.

Рекомендации по безопасности

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

  1. Время существования сессии должно быть ограничено, пяти минут вполне хватает. Если заполняемая форма очень большая, разбейте ее на несколько частей, а сессию создавайте на последнем этапе.
  2. В случае получения формы, сессия должна быть немедленно удалена, чтобы избежать повторного ее использования.
  3. Обязательно проверяйте полученные данные на пустые значения. Это должно спасти вас от ситуации с несуществующей сессией. Это также поможет вам с проблемой VIEWSTATE, если вы программируете на ASP.NET.
  4. Желательно все данные о сессии хранить в Cookie и не выносить в HTML код страницы. Кстати, в HTML можно выносить фиктивные сессии, для отслеживания попыток взлома на их начальной стадии.
  5. Если тест находится в регистрационной форме, поставьте блокировку по IP, на повторную регистрацию. Это не панацея, но все же. В дополнение, если в генерации CAPTCHA будет принимать участие и IP адрес, то история с vBulletin с вами не повторится.
  6. Не генерируйте простых изображений, но и не перегибайте палку с эффектами.

Выводы

Бой не окончен. Ожидать, что будет решение на все случаи жизни не нужно. Интернет меняется, новые технологии появляются, мощность серверов растёт и поэтому нужно всё время держать руку на пульсе. Какую защиту выбрать — зависит от конкретных условий и задач. А цель этой статьи — обзор и лёгкое углубление в тему (мы ведь ещё в коде не ковырялись?!…).

Удачи!

Новая нейросеть взломала капчу

Разработчики американской компании Vicarious создали алгоритм, эффективно расшифровывающий капчу — самый распространенный на сегодняшний день способ отличить человека от робота. Такой алгоритм работает на основе компьютерного зрения и рекурсивной кортикальной нейросети, и может расшифровать капчу на многих популярных интернет-платформ, в том числе PayPal и Yahoo. Работа опубликована в журнале
Science
.

Капча (CAPTCHA, расшифровывается как Completely Automated Public Turing test to tell Computers and Humans Apart — полностью автоматизированный публичный тест Тьюринга для различения компьютера и человека) используется для того, чтобы выяснить, кто пытается воспользоваться каким-либо сервисом: человек или какая-нибудь программа для автоматизации действий в интернете. В основе капчи обычно лежит задание, например, различить «плавающие» буквы, выделить слово на фоне или отметить фотографии, которые содержат определенный объект. Для его решения человеку достаточно имеющихся у него знаний об окружающем мире и базовых навыков (например, чтения). Компьютеру, однако, для выполнения подобного теста требуется огромное количество данных. Он может распознать любые стандартные символы, но, например, «плывущие» буквы, которые встречаются ему впервые, — с трудом. С другой стороны, для человека подобная задача не представляет большой проблемы; искусственный интеллект, соответственно, должен быть максимально развит (по сравнению с настоящим, человеческим интеллектом) для ее решения.

Авторы новой работы, ученые из американской компании Vicarious, занимающейся исследованиями в области искусственного интеллекта, представили новую нейросеть для расшифровки капчи. Такая нейросеть получила название «рекурсивная кортикальная нейросеть» (англ. recursive cortical network, сокращенно RCN). Для ее создания использовались знания об обработке визуальной информации человеком, а именно — об эффективном разделении объекта и фона, даже в том случае, когда они имеют очень похожую структуру. Нейросеть, таким образом, выделяет на общем фоне контур объекта (например, буквы), и может делать это даже в том случае, если часть объекта скрыта за другим.

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

Для проверки работы нейросети использовались данные из открытого генератора капч Google — reCAPTCHA, которые, по словам разработчиков, имеют множество достоинств, основное из которых — сравнительная легкость распознавания для людей и сложность для компьютеров. Кроме того, для проверки также были использованы капчи Yahoo, PayPal и Botdetect.

Капча считается решенной, если компьютеру удалось распознать ее в одном проценте случаев — такой показатель, однако, не обозначает большую эффективность. Новая нейросеть смогла расшифровать примеры из reCAPTCHA с точностью до 66,6 процентов. Для сравнения, человек может распознать те же самые комбинации с точностью в 87 процентов.

Примеры использованных для тренировки капч и эффективность работы нейросети на уровне слов (третий столбец) и букв (четвертый столбец)

George et al. / Science 2017

Алгоритм также показал лучшую (по сравнению с другими алгоритмами, работа которых основана на сверточных нейросетях) эффективность в распознавании отдельных символов: до 94,3 процентов. Для сравнения, эффективность работы сверточной нейросети существенно падает с увеличением визуальных различий между обучающей и тренировочной выборками.

Эффективность распознавания отдельных символов новой нейросетью (синим) и сверточной нейросетью (оранжевым). По оси y — доля различия данных из обучающей и тренировочной выборок

George et al. / Science 2017

О том, что новая нейросеть способна побить капчу с невероятной для компьютера эффективностью, представители компании сообщали еще в 2013, чем вызвали немало скептицизма — в особенности, от разработчиков reCAPTCHA. Эффективная работа их алгоритма, однако, поднимает вопрос об улучшении кибербезопасности и разработки новых средств для защиты данных пользователей от искусственного интеллекта. 

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

Елизавета Ивтушок

НОВОСТИ НАУКИ: ВЗЛОМ КАПЧИ НЕЙРОСЕТЬЮ «VICARIUS»

Капча – это система защиты от ботов, которую используют на различных Интернет-ресурсах [1]. Придумали её для того, чтобы защитить сайты от ав­то­ма­ти­чес­ко­го спама [2]. Идея заключалась в том, что «робот», в отличие от человека, не способен эффективно рас­поз­на­вать текст в виде картинки. Позже с этим научились частично бороться [3], но взлом капчи всё ещё оставался делом далекого будущего, поэтому сама капча представляла собой надёжную систему защиты. Всем было понятно, что взлом этой системы лежит в области ис­кус­ст­вен­но­го интеллекта (ИИ), способного к са­мо­обу­че­нию, но реализовать такой ИИ до недавних пор пред­ста­вля­лось невозможным. Вернее, всем казалось, что это дело далёкого будущего.

ВЗЛОМ КАПЧИ

И вот всё изменилось! Недавно в журнале «Science» был опубликован доклад о взломе капчи [4]. Аме­ри­канс­кая компания «Vicarius» смогла создать нейросеть, которая умудрилась обходить капчу самых популярных интернет-площадок с ре­зуль­та­тив­нос­тью 66%, изучив всего-навсего каких-то 26.000 изображений. В число сайтов, чью защиту смогла обойти нейросеть, входят так же PayPal и Yahoo. Для обучения нейросети ис­поль­зо­ва­лись изображения, находящиеся в открытом доступе в Google reCAPTCHA. Можно сказать, что это шаг на встречу прохождения ИИ теста Тьюринга [5]. Это тест, который позволяет отличить машину от человека. Когда человек не сможет распознать робота, можно будет говорить о создании полноценного ИИ.

Представители компании «Vicarius» заверяют, что их нейросеть способна на большее, если ей дать ещё немного времени для изучения большего количества картинок. Дело в том, что для взлома капчи она пользуется системой разбивки картинок на элементы, поэтому способна расшифровать даже сти­ли­зо­ван­ные надписи. К примеру, люди способны различать около 87% капчи, поэтому результат в 66% уже совсем близок к идеалу. С другой стороны, компания «Vicarius» ещё в 2013 году заявляла, что у них есть ИИ, способный различать около 90% капчи [6]. Тогда инженерам не поверили, но теперь их данным вполне можно доверять, поскольку их опубликовали в верифицируемом научном журнале.

ТЕСТ ТЬЮРИНГА

Да-да, для паники есть причины! Ещё чуть-чуть и нас всех захватит SkyNet, или же ИИ сделает нашу жизнь ком­фор­та­бель­нее и спокойнее. Будем поглядеть! Но, что касается взлома капчи, то уверенности в кибер-безопасности эта новость не прибавляет. Остаётся ждать, как отреагирует на эти технологии reCAPTCHA, или же можно самим задуматься о том, какой продукт предложить рынку, чтобы занять место Сергея Брина в списках выдающихся гениев и пред­при­ни­ма­те­лей нашего века. Мир полон возможностей, а нам остаётся лишь воплощать их в дейст­ви­тель­ность!

Источники

[1] en.wikipedia.org/wiki/CAPTCHA

[2] en.wikipedia.org/wiki/Spamming

[3] en.wikipedia.org/wiki/Convolutional_neural_network

[4] science.sciencemag.org/content/early/2017/10/26/science.aag2612

[5] en.wikipedia.org/wiki/Turing_test

[6] en.wikipedia.org/wiki/Vicarious_(company)

[свернуть]

ТЕСТ ТЬЮРИНГА Загрузка…

Leave a comment