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) Якщо це капча з картинками, що не зникають, то виберіть один квадрат і подивіться, на зміну кнопки "пропустити".

а) Якщо кнопка змінилася на кнопку "далі". Такої капчі ви не пройдете, навіть, якщо є рішення.

б) Якщо кнопка змінилася на кнопку " підтвердити " , то таку капчу ви пройдете, у тому разі, якщо пройдете її правильно.

З повагою, Марс Магафуров

Google рекапчу (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: deathbycaptchat.com ІМ'Я КОРИСТУВАЧА У СЛУЖБІ DBC password: ВАШ ПАРОЛЬ У СЛУЖБІ DBC # Переходимо до блоку body - find: path: body do: # Читаємо значення змінної captcha в регістр - variable_get: captcha # Перевіряємо, чи не порожній у нас регістр - if: \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: comprobante 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(" 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_ object: item field: company_name - find: path: td:haschild(font:contains("CODIGO E DESCRIÇÃO DA ATIVIDADE ECONOMICA PRINCIPAL")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: primary_code - find: path: td:haschild(font:contains("CODIGO E DESCRIÇÃO DAS ATIVIDADES ECONÒMIQUES SECUNDÁRIAS")) b do: - parse - space_de : item field: secondary_codes - find: path: td:haschild(font:contains("CODIGO E DESCRIÇÃO DA NATUREZA JURÍDICA")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item 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("MUNICIPIO")) b slice: 0 do: - parse - space_dedupe - trim - object_field_set: object: item field: municipal - find: path: td:haschild(font:contains("TELE FONE")) 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) Виріжте повністю блок

3) На місцепоставте наступний код:

В якому %g-recaptcha-response% код ви отримали від 2captcha.com

4) У вас з'явиться кнопка “Submit Query”, при натисканні на неї ви відправите на сайт, де встановлена ​​капча всі дані форми та g-recaptcha-response

Ось таким нехитрим чином ми перетворюємо Invisible ReCaptcha на звичайну ReCaptcha V2 і проходимо її.

А ті розробники, хто не емулює браузер, а одразу шле POST-запити, вони навіть не помітять, якщо рекапча зміниться на невидиму