Как это работает: CAPTCHA. UnCAPTCHA: использование сервисов Google для обхода Google reCAPTCHA Обход recaptcha

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

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

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

А потом уже ставятся на поток, т.е. организовываются автоматически с применением программ-роботов (ботов).

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

Итак, с инструментами и мотивами хакеров разобрались. Давайте теперь рассмотрим самые распространённые способы обхода капчи, рассортировав их на две группы: те, которые возможны благодаря ошибкам программистов при реализации CAPTCHA и те, для которых используются современные технологии.

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

Для создания интриги скажу, что их на данный момент существует целых три.

Обход капчи из-за ошибок реализации

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

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

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

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

Обход капчи с фиксированным набором задач

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

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

Т.е. заходим на такой сайт, подбираем ответы, составляем БД из заданий и правильных решений и пишем бота для брутфорс атак, который будет подбирать подходящие варианты.

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

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

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

Ещё одним способом защиты от подобного ввода капчи автоматом является изменения имени поля формы, в которое должен вводиться ответ. Если имя поля, например, всегда будет «captcha», то злоумышленнику будет проще такую капчу взломать. Его программа-робот будет всего лишь отправлять запрос к серверному скрипту, указанному в HTML атрибуте «action» формы, содержащем необходимое значение капчи.

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

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

В данном случае реализации капчи имеется один существенный нюанс: скрипту, обрабатывающему правильность её ввода, нужно будет как-то передавать имя поля капчи. Делается это чаще всего с помощью скрытого input формы, data-атрибутов или передаче их через cookies или сессию.

Ключевым моментом является то, что нельзя передавать имя напрямую, т.е поле капчи называется «captcha_mysite», а в hidden поле стоит значение «captcha_mysite» или «site». Оно обязательно должно быть зашифровано, причём расшифровка должна происходить с применением того же алгоритма, что и шифрование.

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

Кстати, достаточно вместо имени поля использовать случайную последовательность символов, которую в языке PHP очень просто получить с помощью функции uniqid().

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

Если реализация капчи подразумевает хранение правильного ответа в сессии, и сессия не создаётся заново после каждого ввода капчи, то злоумышленники могут узнать идентификатор сессии и узнать зашифрованное значение CAPTCHA.

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

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

За счёт этого упущения подобные капчи могут быть пройдены с помощью подсовывания несуществующих id сессий и пустых значений капчи.

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

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

Взлом капчи из-за секретной информации в клиентском коде

Иногда капчи делают таким образом, что при передаче пользовательских значений на сервер используют шифрование с использованием так называемой «соли», т.е. добавления к значению CAPTCHA ID сессии, значения IP или других уникальных данных. Нередко таковым может являться простая случайная последовательность символов.

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

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

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

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

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

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

Ещё одно средство защиты — по возможности, блокировать действия по IP и количествам попыток.

Как обойти капчу без изменения IP

Брутфорс атака является эффективным способом обхода капчи не только в случаях реализации её с фиксированным набором заданий и их решений.

Ещё одна ошибка при реализации CAPTCHA, которая делает её уязвимой для автоматизированных атак, это — отсутствие ограничений времени на решение капчи и количество попыток.

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

Защита: при реализации по-настоящему безопасной капчи нужно лимитировать время на ответ и количество попыток решения капчи с одного IP для блокирования брутфорс атак роботов.

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

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

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

И ещё одним эффективным способом борьбы с ботами является введение лимитов на определённые действия на сайте. К примеру, одна регистрация с одного IP. Здесь главное — не заигрываться и не доходить до лимитов на количество комментариев для одного уникального пользователя.

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

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

Даже в ситуациях, когда блокирование большого количества попыток решения капчи по IP всё-таки происходит, 100% защиту от роботов это мероприятие не обеспечивает.

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

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

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

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

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

Данный способ использовали ещё полвека назад при написании первых программ с целью прохождения теста Тьюринга, реализацией которого и является CAPTCHA.

Описанными принципами, к слову, пользуются все известные ныне программы для автоматического ввода капчи. Для изменения IP адреса подключения к сайту они используют бесплатные и коммерческие базы прокси серверов, которые при наличии Интернета достать не составит труда.

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

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

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

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

Ввод капчи автоматом с помощью эмуляторов действий

Если для прохождения CAPTCHA нужно произвести определённое действие (нажатие на кнопку, перемещение ползунка и т.д.), то обойти капчу в данной ситуации можно ещё и сэмулировав необходимое действие (клик на определённый элемент управления или иное действие).

Единственная проблема, которая может стоять в данной ситуации перед хакером — это как найти нужный элемент управления на сайте программно.

Проще всего это сделать по его координатам или положению относительно каких-то статических элементов ресурса.

Защита: чтобы уберечься от автоматического ввода капчи в данном случае необходимо постоянно менять положение элемента управления, позволяющего решить CAPTCHA. Т.е. если из трёх человечков нужно выбрать только того, у которого поднята рука, его ни в коем случае нельзя размещать постоянно на одном и том же месте.

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

Как обойти капчу при помощи высоких технологий

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

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

Итак, как избежать капчу при помощи современных технологий?

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

OCR (Optical Character Recognition — оптическое распознавание символов) — технология для распознавания печатного или машинописного текста для дальнейшего его использования в электронном формате. Наиболее известным ПО, реализующим эту технологию, является Adobe FineReader.

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

Хакеры, естественно не пользуются Adobe FineReader (хотя, может, и такие есть 🙂), а пишут специальные скрипты, которые с применением различных готовых библиотек для работы с изображениями либо с использованием возможностей языка для работы с графикой, распознают капчу и выдают символьную последовательность, изображённую на ней.

В Интернете я нашёл достаточное количество примеров таких скриптов. Принцип их работы заключался в следующем:

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

Графические образцы подготавливались с учётом различных шрифтов и возможных искажений (наклоны, повороты и т.д.).

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

Защита: собственно говоря, с целью запутывания OCR программ и применяются всех раздражающие шумы и искажения символов на картинках, из-за которых текст иногда сложно разобрать даже человеку. Но, в случае роботов это тоже хорошо работает, в результате чего OCR алгоритмы не могут выдать 100% точный результат, что положительно влияет на безопасность капчи и сайтов, её использующих.

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

  1. Символы на разных CAPTCHA должны иметь различные координаты.
  2. Если вы используете какие-то эффекты шума для создания фона, то его цвет должен совпадать с цветом символов, иначе фон можно легко убрать, выделив символы для распознавания.
  3. Расстояние между символами должно быть минимально. Можно даже накладывать их друг на друга, но только без фанатизма, чтобы реальные пользователи могли их распознать.
  4. Использовать различные шрифты, чтобы было сложно подобрать подходящий для распознавания.
  5. Всячески искажать символы, менять их начертание и толщину.
  6. Использовать специальные библиотеки, позволяющие изменять символы таким образом, что для их программного распознания будет невозможно подобрать шрифт. Примером такого решения является капча от создателя ресурса captcha.ru, при генерации которой используется авторский алгоритм волнообразного искажения символов.

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

Как пройти капчу с помощью нейронных сетей

Если OCR — технология достаточно старая (первые запатентованные устройства известны в начале XX века), то искусственные нейронные сети (ИНС) появились лишь во второй половине предыдущего столетия (для технологий 50 лет — это существенный возраст 🙂).

Именно алгоритмы ИНС лежат в основе искусственного интеллекта (ИИ), целью которого является создание программ и устройств, наделённых творческими функциями, т.е. создание рукотворного человека.

На данный момент ИИ постоянно развивается, и с каждым днём появляются всё новые и изобретения, обладающими не виданными ранее свойствами.

На последней конференции, посвящённой нейронным сетям, на которой я присутствовал, сообщалось, что компания Google, активно занимающаяся разработками в данной области, уже анонсировала общедоступные облачные сервисы, работающие на базе ИНС.

С помощью их можно:

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

Естественно, что при данных возможностях создание программы для автоматического ввода капчи с применением принципов ИНС не представляет сложности для знающих людей.

Один из таких продуктов был разработан компанией Vicarious в 2014 году. Разработанная ей нейронная сеть способна распознавать капчу в 90% случаях (напомню, что для решения классического теста Тьюринга, которым и является CAPTCHA, необходим всего лишь 1% правильных ответов).

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

А взлом капчи с её помощью — это лишь демонстрация возможностей.

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

Обход капчи с помощью общедоступных сервисов

По мере развития систем OCR и ИИ меры усложнения графических капчей становились всё сложнее и сложнее, что позволяло их разработчикам прилагать колоссальные усилия при реализации. Но всё равно они оказывались тщетными, т.к. они не обеспечивали 100% защиту сайтов от автоматизированных атак.

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

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

Но, несмотря на то, что данный стандарт появился достаточно недавно, в 2015 году, уже найден способ её автоматического решения. И он заключается далеко не в применении искусственного интеллекта.

Всё намного банальней — для прохождения Google reCAPTCHA достаточно использовать сервисы самого Google по распознаванию картинок и речи.

Распознавание картинок в случае с reCAPTCHA v2 (та самая noCAPTCHA) вряд ли поможет, т.к. при графических задачах нужно выбирать изображения, на которых присутствуют необходимые объекты, а не вводить изображённые символы, как это было в предыдущей версии.

А вот услуги сервиса Google Speech Recognition, являющийся одним из достижений Гугл в области искусственного интеллекта, о которых упоминалось в предыдущем способе обхода капчи, будет очень кстати. Поскольку сервис предоставляет API, то создать приложение на его базе не составляет труда.

Защита: к сожалению, в данной ситуации, как и в предыдущей, где для обхода капчи использовались ИНС, защититься от обхода капчи не удастся. Единственным положительным моментом снова является относительная доступность подходящих сервисов, т.к. Google даёт для их использования только тестовые $300.

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

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

Как пройти капчу, используя человеческий труд

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

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

И в то же время, данный способ помогает взломать капчу любой сложности в 100% случаях и, причём, сделать это без особых финансовых, физических и моральных усилий.

Речь идёт об одном из современных способов добычи денег — , который появился, кстати, примерно тогда, когда CAPTCHA стала сложно распознаваемой программно.

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

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

В основном, это хакеры, которые используют ответы реальных пользователей в своих корыстных целях:

  • автоматизации заработка;
  • рассылка спама;
  • скупка билетов и товаров в Интернет магазинах для более дорогой перепродажи;
  • взлом сайтов и т.д.

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

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

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

Естественно, мы долго не думаем, т.к. получить возможность скачать долгожданный фильм в HD качестве абсолютно бесплатно за проставление какой-то галочки в поле «Я не робот» — это просто мелочь. А в это время ваше действие по API используется для обхода капчи на другом стороннем сайте.

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

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

Обход капчи — выводы

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

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

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

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

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

Вспомнить ту же Google reCAPTCHA: поставь галочку, если Гуглу что-то не понравилось, выбери ещё и нужные картинки (с дорожными знаками, кстати, у меня до сих пор наблюдаются проблемы, т.к. я могу пройти такое задание где-то с 5 попытки). Не много ли возни для того, чтобы оставить комментарий или зарегистрироваться на сайте? Проще уже найти другой ресурс…

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

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

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

И не забывать делиться своими соображениями по поводу существующих способов обхода капчи и мер защиты от них в комментариях под статьёй 🙂

P.S. : если вам нужен сайт либо необходимо внести правки на существующий, но для этого нет времени и желания, могу предложить свои услуги.

Более 5 лет опыта профессиональной разработки сайтов. Работа с PHP , OpenCart , WordPress , Laravel , Yii , MySQL , PostgreSQL , JavaScript , React , Angular и другими технологиями web-разработки.

Опыт разработки проектов различного уровня: лендинги , корпоративные сайты , Интернет-магазины , CRM , порталы . В том числе поддержка и разработка HighLoad проектов . Присылайте ваши заявки на email [email protected] .

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

Что это такое?

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

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

Для чего она нужна?

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

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

Конечно, на многих ресурсах за порядком следили администраторы, но в большинстве сервисов для ведения блогов нагрузка на них оказалась такая, что они банально перестали справляться. Вот тогда пользователи и узнали о том, что такое капча! Знакомство оказалось достаточно неприятным.

Если говорить совсем точно, то сама технология первоначально была создана в 2000 году. Изначально она предназначалась только лишь для определения «человечности» вашего собеседника в интернете: тогда ни одна программа для капчи (для ее распознавания, точнее) просто не была создана.

В чем же ее недостаток?

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

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

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

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

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

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

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

Что же делать?

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

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

Ввод капчи

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

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

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

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

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

Покупаем «противоядие»

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

Особый интерес в этом ключе представляют разработки компании CMS Bitrix, которая распространяет действительно эффективные программы, которые справляются с капчей на большинстве популярных сайтов. Разработчики утверждают, что эффективность их творения находится в пределах 95 %. В зависимости от типа защиты, ее сложности и конкретного сайта, разработка методов ее защиты может обойтись вам в пару тысяч долларов, а то и больше.

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

Можно ли заработать на ее вводе?

Новички часто интересуются, можно ли как-то зарабатывать на вводе защитных символов. И это неудивительно, ведь в интернете полно объявлений о наборе групп людей, которые будут получать какие-то деньги, выполняя распознавание капчи. Стоит ли связываться с этим?

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

Универсальный выход

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

Как убрать капчу с вашего блога?

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

Сначала заходим в «Редактор» вашей странички. В левой колонке выбираете пункт «Настройки». В нем есть раздел «Сообщения и комментарии». В поле «Использовать проверку по слову» поставьте значение «нет», после чего капча при вводе сообщений требоваться не будет.

Что делать, если не получается правильно ее ввести?

Бывает, что программа для ввода капчи или сам сайт (если вы вводите значения вручную) постоянно выдают ошибку. В чем может быть причина?

Прежде всего, нужно успокоиться. Как правило, в правой части любой капчи есть изогнутая стрелка. Нажав на нее, вы обновите тот набор символов, который нужно ввести для доступа на сайт. Воспользовавшись ею, можно изменить совершенно нечитаемый набор. К сожалению, нечитаемость букв встречается очень часто. Так, порой совершенно неразличима разница между буквами "Q" и "G".

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

Вот что такое капча!

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

ReCaptcha V2 New
Очень популярна в последнее время, представляет из себя 9 мини-картинок, из которых нужно выбрать 2-4 заданных картинки. Какие картинки нужно выбрать указывается либо образцом картинки, либо текстом. В ответ на такую капчу нужно ввести номера картинок, которые нужно выбрать. Номера вводятся без пробелов, без запятых. Если на самих картинках нет номеров, то они считаются слева-направо, сверху вниз. Вот так:
1 2 3
4 5 6
7 8 9

капча правильный
ответ
описание
13 справа изобраён образец, капуста. На картинках под номерами 1 и 3 мы видим капусту. В ответ на капчу пишем 13
58 Справа тарелка со спагетти. Этой картинке соответствуют картинки под номерами 5 и 8. На картинке под номер 3 то же макароны, но равиоли, а не спагетти.
239 Образца нет, только текст, на котором написано, какие картинки нужно выбрать. Сами картинки не пронумерованы, так что пользуемся инструкцией выше, что бы понять какой картинке соответсвует правильный номер
45 Можно сначала подумать, что правильный ответ 47. Но на 7 картинке не указатель, а просто вывеска. И остаётся только 4я картинка. Но должно быть минимум 2 подходящих изображения. Присматриваемся внимательнее и видим на 5м изоборажении указатель, сфотографированный с обратной стороны. правильный ответ 45
159
456 Инструкция только на английском языке, но слева дана картинка, поясняющая, что выбирать нужно дорожные знаки.
18 На приведённом образце - яйца. Они же на картинках 1 и 8, хоть они уже и очищены и разрезаны. Правильный ответ - 18
25 На приведённом образце - пирог. На картинках 2 и 5 видим пироги и отвечаем 25.
12 Вебмастер, который прислал капчу, по своему принципу пронумеровал изображения. В данном примере пользуемся его нумерацией и указываем что нужно выбрать 1 и 2 изображение
356 Этот вебмастер в правильном порядке нумерует картинки, но начал нумерацию не с единицы а с нуля.

ReCaptcha v2 с дорожными знаками и указателями улиц

Особое внимание уделим капчам, на которых изображены дорожные знаки или указатели улиц. Указатель улицы это не дорожный знак.

капча правильный
ответ
описание
1239 Street name = указатели улиц
Улицы всегда написаны белым на зелёном фоне в одну строчку. На изображении 7 дорожный указатель.
1348 Тут всё просто
78

Street signs = дорожные знаки

На этой капче всё просто

278 На изображении #7 укзатель находится не на столбе, как обычные указатели, а на отбойнике. Тем не менее, это дорожный указатель.
36 Знак автобусной остановки это тоже дорожный указатель
1248 Будьте внимательны, на этой капче нас просят указать указатели улиц.
2479 На изображении №1 указатель, а не имя улицы.
1236 На изображении №5 указатель, а не имя улицы. На изображении №2 не видно название улицы, но можно угадать, что оно там есть.

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

капча правильный
ответ
описание
video tape простая капча, вводится без проблем
what if? Обратите внимание - знаки препинания тоже нужно вводить
When, where? И запятую и знак вопроса нужно указывать в ответе

i like people В слове LIKE первую букву сложно разобрать, но если смотреть на всю фразу целиком - легко понять что там за буква.
I like people - я люблю людей

rooftop Можно подумать что первая буква в этой капче - P и к ней просто приклеились две палочки. Но слова POOFTOP не существует, а ROOFTOP это что-то, что установлено на крыше.. Ведь мало кто знает все эти слова, ошибиться очень легко.

first post! Первая буква скрыта, но смотря на слово целиком, можно догадаться что там написано FIRST
Но, иногда попадаются такие, которые совсем не разобрать. В таком случае нужно нажать "не могу разобрать"

Другие виды капч

капча правильный
ответ
описание

Капча (CAPTCHA), требующая доказать, что «Я не робот», появляется на все большем количестве сайтов и сервисов, и раздражает пользователей. Есть несколько причин, из-за которых сайты принимают посетителей за ботов и требуют введения проверочным символов. Можно ли избавиться от повторяющейся проверки, что нужно изменить в настройках браузера и странице во «Вконтакте», как обойти капчу с помощью VPN-сервисов?

Что такое капча?

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

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

Через семь лет после создания теста Тьюринга появилась модификация - reCAPTCHA. Людям предложили распознавать слова отсканированных выпусков газеты The New York Times. Защита от спама одновременно помогала оцифровывать издание.

Но компьютеры становились все мощнее и стали способны распознать символы. Поэтому появились другие варианты: поиск кошек, дорожных знаков на картинках или галочка напротив фразы «Я не робот».

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


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

Подозрительный трафик с компьютера. Расширения браузера или вирусы на устройстве юзера могут стать частью сети ботов. За это reCAPTCHA блокирует его IP-адрес.

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

Выключение JavaScript на смартфоне. Механизм reCAPTCHA - код JavaScript на сайте. Кодами пользуются не только сервисы, но и мошенники, поэтому в смартфонах для безопасности в браузерах отключен JavaScript. Это приводит к тому, что reCAPTCHA работает со сбоями.

Как избавится от капчи

Изменение настроек

Пользователи Google Chrome могут избавиться от надоедливой защиты, отключив ряд расширений. Блокирующее рекламу расширение AdBlock или плагин RDS Bar часто приводят к появлению капчи.

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

Владельцы iPhone могут в разделе настроек Safari открыть вкладку «Дополнения» и включить JavaScript. Пользователям Android в Chrome, нужно нажать на меню с тремя точками, перейти в «Настройки», открыть «Настройки сайтов» и также активировать JavaScript. Еще один вариант для мобильных - ненадолго включить авиарежим, после которого смартфон перерегистрируют в сети, и сможет получить незапятнанный IP.

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

Если в списке адрес, который отличается от адреса пользователя, нужно нажать «Завершить все сеансы». А затем сменить пароль. Кроме того, капча появляется реже, если страница привязана к номеру телефона.

Специальные сервисы

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

Динамический IP

Если колдовство с настройками не помогло, придётся воспользоваться сервисами VPN. Крупные компании оказывают эту услугу платно. Но есть и бесплатные сервисы с хорошим интерфейсом и удобные в эксплуатации. Например, программа CyberGhost VPN ().

Сервис работает с всеми популярными браузерами, отлично защищен благодаря протоколу OpenVPN с 256-битным шифрованием AES. Бесплатно можно запускать только на одном устройстве. Пользователь получит доступ к 37 серверам в 12 странах, работает без перерыва около трех часов, после этого надо снова подключит и продолжить работу.

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

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

В итоге всё сошлось к тому, что усложнения картинки для ввода не давало ощутимого эффекта, а только лишь затрудняло ввод обычным юзерам. Я думаю, многие помнят времена, когда откровенно матерились, когда не поймешь какой символ изображен и капчу удавалось вводить далеко не с первого раза. И тогда корпорация Google скакнула далеко вперед, предложив на всеобщее обозрение Recaptcha 2. Нельзя сказать, что идея была настолько инновационной - к тому моменту уже было реализовано множество интересных защит от спама: собрать пазл, ответить на вопрос - все они имели свои преимущества и недостатки.

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

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

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

Одним из первых успешных методов по подбору номеров домов помог реализовать алгоритм распознавания изображений. Потом появились более сложные варианты распознавания, которые специализировались на Google Recaptcha. Но и гугл не оставался в стороне, картинки стали подвергаться всевозможным обработкам: размытию, растяжению, искажению.

Взлом Google Recaptcha посредством Google Speech

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

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

Однако и здесь нашлось весьма забавное решение. На помощь специалистам безопасности для взлома Google Recaptcha 2 пришёл... сам гугл! Используя Google API Speech можно было достоверно и точно распознать звуковые уведомления капчи. Уязвимость применили на практике и написали сервис по перенаправлению аудиофайлов в распознавание, а потом подстановка результата в поле формы рекапчи.

И эта дыра была пофикшена и закрыта работниками гугл. Теперь хакерам придеться в очередной раз проявить сноровку и найти новый метод обхода рекапчи. А пока на данный момент это достаточно удобный и стойкий вариант защиты от спама контактных форм . Напрашивается вопрос, а почему несмотря на уловки злоумышленников, на сайтах не последовало волны спама? Ответ достаточно прост: Google разработали достаточно сложную и многоступенчатую защиту, которая может позволить ограничить число обходов. Таким образом массовая атака будет приостановлена на ранней стадии: к примеру тот же вариант с аудио-сообщением прокатывал не всегда, порой пользователям предлагалось ввести символы вместо прослушивания цифр.

А пока будем ждать новых новостей и новых эксплоитов.