Кластеризация запросов в key collector

Google не принимает часть ответов на ReCaptcha

Описание проблемы

  В начале июля несколько клиентов, независимо друг от друга, пожаловалась нам о том что часть токенов для прохождения ReCaptcha, которые они получают от нас, не принимается сайтами, где проходится капча. Мы провели ряд экспериментов и выявили, что при верификации ответа на ReCaptcha, Google.com может вернуть вот такую ошибку:

{«success»:false,»error-codes»:}

  Этой проблеме подвержен не только наш сервис решения капч RuCaptcha.com, но и обычные люди, которые проходят рекапчу на каком-либо сайте, но сайт не принимает ответ на капчу от них.

В API ReCaptcha нет описания данной ошибки. Доподлинно нам не известны её причины, но некоторые зависимости мы смогли найти.

От чего зависит получение incorrect-captcha-sol

Появление incorrect-captcha-sol, по нашим наблюдениям, происходит по двум факторам:

1) Очень плохой IPУ Google, видимо, есть рейтинг для каждого IP-адреса. Если Вы решаете ReCaptcha без ошибок и не более 50 капч в сутки, то этот IP будет считаться хорошим. Если Вы делаете что либо из этого списка:

  • совершаете много ошибок при решении

  • открываете капчу но не прорешиваете её до конца

  • решаете больше двух капч в минуту

То Ваш IP либо банится вообще, либо начинает получать такие токены, которые при дальнейшей проверке получают incorrect-captcha-sol2) Плохие cookieПомимо рейтинга IP, у Google есть рейтинг пользователей. Каждому, кто заходил на google.com или на страницу с установленной ReCaptcha, присваиваются свои cookie. Google анализирует Ваши действия в сети и оценивает насколько Вы похожи на живого человека или на робота. Если пользователь с одним набором cookie целый день решает капчи, даже если это делается с разных IP, то это, скорее всего, робот и такой пользователь будет решать капчи до зелёной галочки, но при дальнейшей проверке его ответа Google будет возвращать {«success»:false,»error-codes»:}Самое обидной в этом то, что при авторизации в гугловом почтовике gmail.com, Google проассоциирует Вас с Вашими прошлыми действиями и, если хоть один раз в прошлом посчитал Вас роботом, то теперь у Вас в 3 из 4 случаев не будет приниматься решение ReCaptcha.
 

Как RuCaptcha борется с incorrect-captcha-sol

 Для снижения количества “плохих” токенов  в ответах на капчи заказчиков, мы регулярно чистим куки в приложении работников, а также следим за качеством IP-адресов работников. Про это расскажем чуть подробнее.

 Да, некоторая часть наших работников имеет “очень плохие” IP-адреса, решая с которых ReCaptcha они получают токены, которые при последующей верификации получают incorrect-captcha-sol. Для борьбы с этим, мы раз в час выдаём тестовую ReCaptcha для каждого уникального IP-адреса и верифицируем ответ на неё в google.com. Если мы получили  incorrect-captcha-sol, то мы перестаём выдавать капчи для решения с этого IP и данный пользователь может решать капчи только через прокси (прокси, в свою очередь, также регулярно проверяются).

 Таким образом мы снижаем процент “плохих” ответов до 1-3%. К сожалению, прошли те времена, когда мы с гордостью говорили, что все 100% ответов на ReCaptcha от нашего сервиса верные.

Возвраты за плохие решения

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

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

Похоже, гугл считает мой IP\куку плохим. Я нигде не могу пройти капчу, что мне делать?

What it does

Our unCaptcha system has attack capabilities written for the audio captcha. Using browser automation software, we can interact with the target website and engage with the captcha, parsing out the necessary elements to begin the attack. We rely primarily on the audio captcha attack — by properly identifying spoken numbers, we can pass the reCaptcha programmatically and fool the site into thinking our bot is a human. Specifically, unCaptcha targets the popular site Reddit by going through the motions of creating a new user, although unCaptcha stops before creating the user to mitigate the impact on Reddit.

Background

Google’s reCaptcha system uses an advanced risk analysis system to determine programmatically how likely a given user is to be a human or a bot. It takes into account your cookies (and by extension, your interaction with other Google services), the speed at which challenges are solved, mouse movements, and (obviously) how successfully you solve the given task. As the system gets increasingly suspicious, it delivers increasingly difficult challenges, and requires the user to solve more of them. Researchers have already identified minor weaknesses with the reCaptcha system — 9 days of legitimate (ish) interaction with Google’s services is usually enough to lower the system’s suspicion level significantly.

How it works

The format of the audio captcha is a varied-length series of numbers spaced out read aloud at varied speeds, pitches, and accents through background noise. To attack this captcha, the audio payload is identified on the page, downloaded, and automatically split by locations of speech.

From there, each number audio bit is uploaded to 6 different free, online audio transcription services (IBM, Google Cloud, Google Speech Recognition, Sphinx, Wit-AI, Bing Speech Recognition), and these results are collected. We ensemble the results from each of these to probabilistically enumerate the most likely string of numbers with a predetermined heuristic. These numbers are then organically typed into the captcha, and the captcha is completed. From testing, we have seen 92%+ accuracy in individual number identification, and 85%+ accuracy in defeating the audio captcha in its entirety.

Using reCAPTCHA V2

  1. How do I use reCAPTCHA?

    Just click the checkbox:

    If you see a green checkmark, congratulations! You’ve passed our robot test (yes, it’s that easy). You can carry on with what you were doing.

    Sometimes we need some extra info from you to make sure you’re human and not a robot, so we ask you to solve a challenge:

    Simply follow the on-screen instructions to solve the puzzle and then carry on with your task.

  2. Accessibility

    reCAPTCHA works with major screen readers such as ChromeVox (Chrome OS), JAWS (IE/Edge/Chrome on Windows), NVDA (IE/Edge/Chrome on Windows) and VoiceOver (Safari/Chrome on Mac OS). reCAPTCHA will alert screen readers of status changes, such as when the reCAPTCHA verification challenge is complete. The status can also be found by looking for the heading titled “recaptcha status” in the “recaptcha widget” section of the page. See for more information.

    Please use the following steps to solve an audio challenge:

    1. If you are presented with a visual challenge, locate and click on the button.

    2. You will be presented with one of two versions of the audio challenge depending on whether you’re using a mobile device.

    3. Press PLAY and enter the numbers you hear in the text input box located after the PLAY button or audio control. If your focus isn’t automatically set on the text input box after pressing the PLAY button, tab to proceed to it. When you’re done entering the numbers from the audio, press ENTER or click on the “Verify” button to submit your answer.

    4. If your answer is incorrect, you will be presented with another audio challenge.

    5. If your answer is correct, the audio challenge will close and the reCAPTCHA checkbox will become checked. ReCAPTCHA will also notify the screen reader of the successful verification.

      Please note that the verification will expire after some time and you will need to start over if this occurs. You will be notified if the verification expires.​

    ​Tips

    • If the audio doesn’t play, try downloading the audio by locating and clicking on the link.

    • While in the text input box, you can press the “R” button to replay the audio from the beginning

    • To get a different audio challenge, locate and press the button.

    • The reCAPTCHA verification expires after a certain amount of time so it is best to complete the reCAPTCHA verification last on a website you are accessing.

    • Some screen readers may have difficulties getting into forms mode, if this happens, please use your screen reader’s functionality to force forms mode.

    reCAPTCHA ARIA Status Messages

    Status message

    Detailed description

    Recaptcha requires verification

    The initial state, reCAPTCHA verification is required to proceed on this website. Click the checkbox to get a verification challenge.

    Opening verification challenge

    The checkbox has been clicked and a challenge is loading. You are instantly verified if the status changes to “You are verified”. Otherwise, you are required to complete a verification challenge.

    Verification challenge expired, check the checkbox again for a new challenge

    The verification challenge expired due to timeout or inactivity. Click the checkbox again for a new challenge.

    You are verified

    You have been verified. You can now proceed on the website.

    Verification expired, check the checkbox again for a new challenge

    The verification expired due to timeout or inactivity. Click the checkbox again for a new challenge.

  3. Don’t worry. Some CAPTCHAs are hard. Just click the reload button next to the image to get another one.
  4. Our unusual traffic help page describes what to do if you see this message:

    «We’re sorry, but your computer or network may be sending automated queries. To protect our users, we can’t process your request right now.»

Реферальная система

К условиям реферальной системы создатели сервиса отнеслись с особым вниманием. Именно поэтому, если вы планируете зарабатывать на собственных рефералах, обязательно ознакомьтесь с правилами

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

Субаккаунты могут быть следующими:

  1. Неактивные субаккаунты – зарегистрированные в системе, но не пользующиеся сервисом, не вносящие в него средства.
  2. Активные – прошедшие регистрацию пользователи, но с небольшим числом заказов – не более пятидесяти капчей в неделю.
  3. Делающие расходы – аккаунты, которые заказывают разгадывание от пятидесяти капчей и более еженедельно.
  4. Делающие расходы через приложение – пользователи, также заказывавшие разгадывание капчей (более 50 штук), но уже через специальную утилиту «AppCenter».

Приглашая новых клиентов, вы можете заработать 10% от рефералов, «делающих расходы», и 5% от «делающих расходы через приложение». Для получения средств вам нужно иметь не менее пяти субаккаунтов с повышенным статусом (активных пользователей, которых вы привлекли на сайт). Сразу после загрузки капчи вам будут перечислены денежные средства в указанном размере.

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

Что такое Score и от чего он зависит?

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

Сами разработчики не могут объяснить, от чего именно зависит этот показатель. Но в официальном блоге есть следующие объяснения:

  • при Score 0.1 доступен только ручной режим;
  • при Score до 0.3 программа работает на автомате, но ставки не самые высокие;
  • при Score от 0.9программа приносит доход без участия пользователя.

По статистике, лишь у 5% пользователей Score 0.9, а для 91% пользователей показатель 0.1. Единственный способ повысить показатель – попытаться сменить IP.

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

Настройка RuCaptchaBot X

В нижней части программы есть две кнопки, по которым доступны настройки. Первая со значком Gmail позволяет привязать Google аккаунт. В отзывах люди пишут, что это помогает повысить Score:

Вторая кнопка открывает дополнительные параметры. Заходить туда не обязательно и без настроек всё будет работать.

Однако, вам также может помочь ввод строки UserAgent (о ней рассказывается на страничке, где вы будете получать ключ) и можно выбрать потоки, звуки или активацию прокси:

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

Как зарабатывать больше на автомате?

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

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

  1. – программа для ПК и смартфона для майнингакриптовалют. Добывает разные альткоины, которые потом можно на биржах перевести в реальные деньги.
  2. – добавляет в браузер рекламу, вы продолжаете заниматься своими делами, а за показ рекламы начисляются небольшие вознаграждения.
  3. – аналогичный проект, только расширение добавляет рекламные блоки прямо на сайты (в шапку).
  4. – устанавливайте расширение и выбирайте расположение баннеров. За их просмотры приходит от 1 до 3 копеек.
  5. – ещё один плагин для браузеров, где пока не так много рекламодателей. Зато можно выбрать тематику рекламы.
  6. – самый старый проект, также предлагающий расширение для браузеров. Желательно установить их все, иначе доход будет слишком низкий.
  7. – устанавливается на ПК и смартфоны, открывает рекламу во весь экран и за каждый просмотр начисляются небольшие деньги.
  8. – кликовый спонсор, с которым можно работать только через официальный клиент. В программе есть автоматический сёрфинг.
  9. – для автоматического сёрфинга в этом проекте создана программа SafeSurf. Получайте кредиты за посещение сайтов на автомате и меняйте на рубли или доллары.
  10. – программа запускается со Скайпом. Она рассылает рекламу по сообщениям в книге контактов и за каждое сообщение приходят деньги.

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

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

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

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

Вам также будет интересно: —  —  — 

Как работать с сервисом Антикапча

Потребуется только электронная почта. На нее придет пароль.

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

Дальнейшие капчи будут стоить от 0,001$ (обычные) до 0,002$ (ReCaptcha Гугла). Не забудьте скопировать API ключ, который генерируется в автоматическом режиме. Вы найдёте его на главной странице ресурса.

Скачайте приложение Antigate на свой ПК (сделать это можно также на официальном сайте) и активируйте режим автоматического разгадывания капчи

Чтобы уточнить статистические данные, обратите внимание на меню. Оно расположено в правом углу страницы

Пополнить баланс можно на главной, нажав на кнопку «пополнить счет». Альтернативное решение – откройте пункт «Финансы» в меню и нажмите на «Пополнить счет» уже там. Управлять процессом можно прямо из меню Настроек. Например, чтобы изменить информацию в вашей учётной записи.

Чтобы работать было комфортнее, пользуйтесь дополнительными инструментами, которые также можно найти в меню. При помощи окна «помощь» вы сможете просмотреть документацию по работе сервиса, а также прочитать новости проекта, найти ответы на какие-либо вопросы по работе Антикапчи.

Контакты разработчиков

Если у вас возникли вопросы по работе сайта или приложения, вы всегда сможете написать разработчикам. Официальный адрес Антикапчи — admin@anti-captcha.com

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

Laravel 5 and above

Setup

NOTE This package supports the auto-discovery feature of Laravel 5.5 and above, So skip these instructions if you’re using Laravel 5.5 and above.

In add the following :

1- The ServiceProvider to the providers array :

Anhskohbo\NoCaptcha\NoCaptchaServiceProvider::class,

2- The class alias to the aliases array :

'NoCaptcha' => Anhskohbo\NoCaptcha\Facades\NoCaptcha::class,

3- Publish the config file

Usage

Init js source

With default options :

 {!! NoCaptcha::renderJs() !!}
 {!! NoCaptcha::renderJs('fr', true, 'recaptchaCallback') !!}

Display reCAPTCHA

Default widget :

{!! NoCaptcha::display() !!}
{!! NoCaptcha::display() !!}
{!! NoCaptcha::displaySubmit('my-form-id', 'submit now!', ) !!}

Notice that the id of the form is required in this method to let the autogenerated
callback submit the form on a successful captcha verification.

Validation

Add to rules array :

$validate = Validator::make(Input::all(), );
Custom Validation Message

Add the following values to the array in the language file :

'custom' => ,
],

Then check for captcha errors in the :

@if ($errors->has('g-recaptcha-response'))
    span class="help-block">
        strong>{{ $errors->first('g-recaptcha-response') }}strong>
    span>
@endif

Testing

So for any form tests involving the captcha, you can do this by mocking the facade behavior:

// prevent validation error on captcha
NoCaptcha::shouldReceive('verifyResponse')
    ->once()
    ->andReturn(true);

// provide hidden input for your 'required' validation
NoCaptcha::shouldReceive('display')
    ->zeroOrMoreTimes()
    ->andReturn('');

You can then test the remainder of your form as normal.

When using HTTP tests you can add the to the request body for the ‘required’ validation:

// prevent validation error on captcha
NoCaptcha::shouldReceive('verifyResponse')
    ->once()
    ->andReturn(true);

// POST request, with request body including g-recaptcha-response
$response = $this->json('POST', '/register', );

Официальная документация Google reCAPTCHA v3

Официальную информацию и инструкции вы найдёте на страницах:

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

Самую важную информацию о реализации reCAPTCHA я позаимствовал из этой статьи:

https://codeforgeek.com/google-recaptcha-v3-tutorial/

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

Тем не менее официальная документация имеет несколько познавательных фактов о reCAPTCHA — рассмотрим их.

Во-первых, там написано, что результат проверки с сервиса reCAPTCHA возвращается в виде объекта JSON. После конвертации в массив он имеет примерно такой вид:

Array 
( 
	 => 1 
	 => 2019-05-28T15:39:16Z 
	 => suip.biz 
	 => 0.9 
	 => homepage 
)

Значение полей следующее:


{
«success»: true|false, // был ли этот запрос валидным токеном reCAPTCHA для вашего сайта
«score»: число // очки для этого запроса (0.0 — 1.0)
«action»: строка // имя действия для этого запроса (важно для верификации)
«challenge_ts»: timestamp, // временная метка вызова загрузки (ISO формат yyyy-MM-dd’T’HH:mm:ssZZ)
«hostname»: строка, // имя хоста сайта, где была выполнена reCAPTCHA
«error-codes»: // опционально (коды ошибок)
}

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

Ограничения токена

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

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

Размещение на вашем сайте

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

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

Интерпретация очков

reCAPTCHA v3 возвращает очки (1.0 очень вероятно хорошее взаимодействие, 0.0 весьма вероятно бот). Основываясь на этих очках, вы можете предпринять различные действия в контексте вашего сайта. Каждый сайт отличается от других, но ниже несколько примеров, как сайты используют очки. Как примеры ниже, для лучшей защиты своего сайта выполняйте действия «за сценой» вместо блокировки трафика.

Случай использования Рекомендация
homepage Наблюдайте за полной картиной в вашей панели администратора: сколько из пришедших это пользователи, а сколько разного рода парсеры
login При низком показатели очков, требуйте 2-факторную аутентификацию или верификацию по почте для предотвращения атака связанных с учётными данными
social Отправляйте комментарии от пользователей с подозрением на ботов на модерацию, ограничьте для них количество безответных запросов в друзья
e-commerce Давайте приоритет реальным покупателям и выявляйте запросы, которые могут оказаться ненастоящими

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

Прогресс в распознании рекапчи recaptcha v2

Что-то мы давно не публиковали новостей.
Меж тем мы ввели много новых алгоритмов для распознания рекапчи:
1) Теперь мы принимаем рекапчи любых размеров: 3х3, 4х4, 2х4 и другие если они будут, т.к. появилась возможность задать со стороны заказчика сколько столбцов и строк содержится в изображении
2) Мы собрали большую базу текстов для рекапчи. Вы можете слать текстовую инструкцию к рекапче на любом языке, мы автоматически переведём её на русский и английский для наших работников. В дальнейшем планируем добавление всех распространённых языков
3) Доработан функционал для рекапч, где обновляются картинки. Если картинки обновились и вы прислали обновлённое изображение, то мы заблокируем работникам те картинки, которые не были нажаты в прошлый раз.
4) Ну и наконец, мы начали распознавать аудиокапчи от рекапчи.
Все параметры для отправки расписаны на странице API ReCaptcha

Заключение

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

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

На самом деле, есть место для улучшений: например, в приведённой реализации каждый поступивший от пользователя запрос проверяется. Можно, например, после первой проверки сохранять на сервере на некоторое время одобренный IP адрес и допускать к сайту без проверок. Либо можно генерировать уникальный маркер и сохранять в кукиз пользователя и в базе данных на сервере, сделав этот маркер действительным, например, на 10 минут.

При установке полной проверки доступа можно добавить функцию для проверки IP по WHOIS и допуска к сайту без капчи IP принадлежащих Google и Яндекс — чтобы поисковые роботы могли продолжать сканировать сайт.

Ссылка на основную публикацию