UnCAPTCHA: использование сервисов Google для обхода Google reCAPTCHA. Избавляемся от назойливой captcha во Вконтакте Как боты обходят капчу

10.05.2020 Интересное

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ReCaptcha была создана, для защиты сайтов от интернет-ботов и оцифровке текстов книг. С 2009 года, принадлежит компании гугл.

чем она хороша

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

чем она плоха

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

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

Что я заметил?

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

Есть несколько нюансов,

как её пройти и небольшие особенности прохождения капчи.

1)Вид ReCaptcha

а)Исчезающие картинки(убрать все лишнее)

Такие капчи, проходятся всегда. Лично у меня с этим видом капчи, никогда не было особых проблем.

б)Выбор картинки или части картинки(чуть ниже приведу пример)

С выбором картинки у меня возникали проблемы. Но я не мог понять почему. К примеру, на картинке ниже, в задании написано: "выберите все квадраты, в которых изображены дорожные знаки. Если их нет,нажмите кнопку "пропустить"". На самом деле, здесь есть дорожный знак P="парковка", но ReCaptcha её не засчитает, так как вместо кнопки "пропустить", появляется кнопка "далее", хотя дорожный знак в задании присутствует,но возможно разработчики ReCaptcha,так не считают. Бывает и обратная ситуация, но приводить пример, в статье не буду, думаю и так всем все понятно.

2)Если это капча с неисчезающими картинками, то выберите один квадрат и посмотрите, на изменение кнопки "пропустить".

а)Если кнопка поменялась на кнопку "далее". Такую капчу вы не пройдете, даже, если есть решение.

б)Если кнопка поменялась на кнопку "подтвердить", то такую капчу вы пройдете,в том случае, если пройдете её верно.

С уважением, Марс Магафуров

Гугл рекапча (reCaptcha v2) перестала быть проблемой для наших пользователей. Мы внедрили интеграцию с популярным сервисов по обходу капчи Death By Captcha и теперь ваши скраперы могут легко обходить самые современные капчи.

Давайте посмотрим, как выглядит reCaptcha v2:

Если вы видите именно такую капчу на сайте. который вам нужно отпарсить, то эта статья вам обязательно поможет. Мы постараемя дать вам исчерпывающее руководство на реальном примере, так, чтобы вы смогли легко внедрить подобное решение для вашего сайта. Мы же будем парсить следующий сайт: http://www.receita.fazenda.gov.br/PessoaJuridica/CNPJ/cnpjreva/Cnpjreva_Solicitacao2.asp .

Для того, чтобы пользовать этим функционалом вам нужно иметь собственный аккаунт в службе Death by Captcha . Их услуги не бесплатны, стоимость решения 100 капч составляет примерно 2.89$ (цена актуальна на 28.02.2018).

Решение капчи происходит автоматически, вам нужно лишь загрузить страницу с капчей в ваш скрапер и вызвать специальную команду captcha_resolve с определенными параметрами:

prodiver : провайдер решений для капчи, нужно установить значение deathbycaptcha.com
type : тип капчи, нужно установить значение nocaptchav2
username : имя пользователя вашего аккаунта в системе death by captcha
password : пароль вашего аккаунта в системе death by captcha

ВНИМАНИЕ!!! Для того чтобы капча этого типа была успешно решена, люди, которые будут вручную решать вашу капчу должны будут это делать под тем же IP адресом, что использует ваш парсер. Поэтому, единственный вариант этого достичь — использовать ВАШ СОБСТВЕННЫЙ ПРОКСИ СЕРВЕР в конфигурации вашего диггера. Наши штатные прокси сервера не могут быть доступны с IP адресов, вне нашей основной сети, поэтому штатные прокси просто не будут работать в этом случае. В дальнейшем мы внедрим специальный пул прокси серверов для этой задачи, но пока вы должны будете использовать свой прокси.

Базовый код нашего парсера будет таким:

Config: debug: 2 agent: Firefox proxy: ВАШ ПРОКСИ НУЖНО ВСТАВИТЬ СЮДА do: # Мы будем повторять неудавшийся запрос, поэтому пропишем значение переменной, # которую будет использовать опция repeat - variable_set: field: repeat value: "yes" # Загружаем страницу с капчей - walk: to: http://www.receita.fazenda.gov.br/PessoaJuridica/CNPJ/cnpjreva/cnpjreva_solicitacao2.asp repeat: do: # Решаем капчу - captcha_resolve: provider: deathbycaptcha.com type: nocaptchav2 username: ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ В СЛУЖБЕ DBC password: ВАШ ПАРОЛЬ В СЛУЖБЕ DBC

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

Config: debug: 2 agent: Firefox proxy: ВАШ ПРОКСИ НУЖНО ВСТАВИТЬ СЮДА do: # Мы будем повторять неудавшийся запрос, поэтому пропишем значение переменной, # которую будет использовать опция repeat - variable_set: field: repeat value: "yes" # Загружаем страницу с капчей - walk: to: http://www.receita.fazenda.gov.br/PessoaJuridica/CNPJ/cnpjreva/cnpjreva_solicitacao2.asp repeat: do: # Решаем капчу - captcha_resolve: provider: deathbycaptcha.com type: nocaptchav2 username: ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ В СЛУЖБЕ DBC password: ВАШ ПАРОЛЬ В СЛУЖБЕ DBC # Переходим в блок body - find: path: body do: # Читаем значение переменной captcha в регистр - variable_get: captcha # Проверяем, не пустой ли у нас регистр - if: match: \w+ do: # Если не пустой, отключаем repeat - variable_set: field: repeat value: "no" # Передаем токен и другие параметры на сайт с которого мы собираем информацию. # В данном случае мы пытаемся получить данные о компании по его ИНН (CNPJ) - walk: to: post: http://www.receita.fazenda.gov.br/PessoaJuridica/CNPJ/cnpjreva/valida_recaptcha.asp data: origem: comprovante cnpj: 05754558000186 g-recaptcha-response: submit1: Consultar search_type: cnpj do: - find: path: "div#principal" do: - object_new: item - find: path: td:haschild(font:contains("NÚMERO DE INSCRIÇÃO")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: registration_number - find: path: td:haschild(font:contains("DATA DE ABERTURA")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: registration_date - find: path: td:haschild(font:contains("NOME EMPRESARIAL")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: company_name - find: path: td:haschild(font:contains("CÓDIGO E DESCRIÇÃO DA ATIVIDADE ECONÔMICA PRINCIPAL")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: primary_code - find: path: td:haschild(font:contains("CÓDIGO E DESCRIÇÃO DAS ATIVIDADES ECONÔMICAS SECUNDÁRIAS")) b do: - parse - space_dedupe - trim - object_field_push: object: item field: secondary_codes - find: path: td:haschild(font:contains("CÓDIGO E DESCRIÇÃO DA NATUREZA JURÍDICA")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: legal_code - find: path: td:haschild(font:contains("LOGRADOURO")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: street - find: path: td:haschild(font:contains("BAIRRO/DISTRITO")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: district - find: path: td:haschild(font:contains("MUNICÍPIO")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: municipal - find: path: td:haschild(font:contains("TELEFONE")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: phone - find: path: td:haschild(font:contains("E-MAIL")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: email - object_save: name: item

Технология «капчи» (CAPTCHA) представляет собой автоматизированный тест, предназначенный для выявления машинизированных пользователей, иначе ботов.

Его целью становится постановка такой задачи, которая с легкостью решается человеком, но сложна для компьютера.

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

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

Как убрать капчу я не робот

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

  • Отключаем и снова подключаем активное интернет-соединение. Перезагружаем роутер или модем. Таким образом может измениться IP-адрес.
  • Прибегаем к помощи VPN-сервиса. Последние бывают как платные, так и для бесплатного использования. Предусмотрены в виде расширений (дополнений) для браузеров и как отдельно-устанавливаемый софт на компьютер.
  • Просматриваем и установленные расширения. Например последняя версия Яндекс.Браузера сама отключает плагины из непроверенных источников и периодически проверяет уже инсталлированные на предмет подделки.
  • Проверяем, включен ли JavaScript в веб-обозревателе: Настройки→ Показать дополнительные настройки→ блок личные данные Настройки контента → раздел JavaScript.
  • Не забываем и про антивирусные программы – возможно компьютер стал жертвой ботнета, отсюда и недовольство CAPTCHA на генерируемый по этому адресу трафик.

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

Не так давно Google дополнил функционал капчи ReCaptcha v2 невидимой капчей.
Её образец можно увидеть по ссылке:
https://www.google.com/recaptcha/api2/demo?invisible=true

Теперь пользователю зачастую даже не нужно нажимать галочку “я не робот”, сама капча появляется в невидимом слое, дополнительно смещённым на 10 000 px выше начала страницы и не видна пользователю. Прохождение капчи запускается только в момент отправки формы. Если куки пользователя хорошие, то он даже не заметит, что капча была. Если куки не очень хорошие, то при отправке формы он тут же получит по центру экрана стандартную рекапчу, где нужно выбрать несколько изображений.

В целом, принцип работы recapthca совершенно не изменился, но некоторые заказчики сервиса сайт столкнулись с проблемами. Если в своей работе вы формируете POST-запрос содержащий “g-recaptcha-responce” к сайту, на котором установлена капча, то Вы даже не заметите изминений. Проблема возникла у тех заказчиков, которые используют движок браузеров для автоматизации каких-либо действий, например silenium.

Что делать, чтобы в браузере можно было пройти Invisible ReCaptcha?
1) Вырежьте из тела документа div, содержащий саму рекапчу:

2) Вырежьте полностью блок

var onSuccess = function(response) { var errorDivs = document.getElementsByClassName("recaptcha-error"); if (errorDivs.length) { errorDivs.className = ""; } var errorMsgs = document.getElementsByClassName("recaptcha-error-message"); if (errorMsgs.length) { errorMsgs.parentNode.removeChild(errorMsgs); } document.getElementById("recaptcha-demo-form").submit();};

3) На место поставьте следующий код:
%g-recaptcha-response%

В котором %g-recaptcha-response% код, который вы получили от 2captcha.com

4) У вас появится кнопка “Submit Query”, при нажатии на неё вы отправите на сайт, где установлена капча все данные формы и g-recaptcha-response

Вот таким нехитрым образом мы превращаем Invisible ReCaptcha в обычную ReCaptcha V2 и проходим её.

А те разработчики, кто не эмулирует браузер, а сразу шлёт POST-запросы, они даже не заметят, если рекапча поменяется на невидимую