Recaptcha не пускає. ReCAPTCHA - найпростіша капча Я не робот від Google. Методи зниження спам-навантаження та чому саме reCAPTCHA
+1 На розгляді
Якщо форма запиту в підтримці містить капчу гугл, а в налаштуваннях капчі в магазині включений прихований режим, форма не працює (пише помилку "Це поле обов'язкове", хоча всі поля заповнені. Для тимчасового виправлення ситуації...
Капча не відображається
Виявив, що при використанні розширення PHP ImageMagick не працює капча у формі зворотного зв'язку ($wa->block("site.send_email_form")). Як тільки перейшов на GD, то капча запрацювала. Це в мене щось не так чи все ж таки краще...
Є рішення
Пише Капча введена невірноСтандартна капча видає теж самеПробував чистити кеш браузера і видаляв вміст папки wa-cache не дало результатів http://fluxor.ru/signup/
Зверніться до розробника вашої теми дизайну. У вихідний кодсторінки капча запитується двічі, вдруге по кнопці Зворотній зв'язоквнизу сторінки. Там її не видно, але у вихідному коді вона є.
Є рішення
Додаю капчу у формі потоці (модуль Підтримка), а вона не виводиться на сайті на стокове шаблон.
Є рішення
Добрий день! Якийсь час тому помітив, що капча на сайті працює неправильно. Який би код не вводив у це поле (вірний код і не вірний), капча не проходить перевірку.
($wa->storage(["captcha", $wa->app()], ""))навіщо такі танці з бубнами?)) можна просто не вставляти ($wa->captcha()) у форму. можливо, якщо Ви намагаєтеся використовувати кілька капч на сторінці - рішення траплялося на форумі...може плагін...а може кеш..гадати можна довго:)
Є рішення
У зв'язку з останнім оновленнямдо версії 1.8.4.225, у якому вирішувалися якісь питання з reCAPTCHA та подальшим швидким оновленням до версії 1.8.5.226 виникла така проблема. Якщо увімкнути в магазині в Налаштуваннях -> Оформлення замовлення показ...
А тим часом викотили обновку. Сподіваюся, що нічого нового не зламалося. Поставлю поки що на тестовий хостинг. :)))
+1 Виправлено
При додаванні відгуку з налаштованою невидимою капчею від Google при першому сабміті форми капча проходить, але якщо у формі були помилки (не заповнені поля), то при відправці форми другий і наступний раз, капча не проходить.
+1
І що б не відбувалося - введення БУДЬ-ЯКОГО коду капчі ЗАВЖДИ неправильне.
⭐ У цьому відео Ви побачите, як за допомогою одного безкоштовного віджету можна вирішити проблему роботи reCaptcha 2.0 у формах розміщених у лайтбоксі програми Adobe Muse.
👉Додатково: як налаштувати ReCaptcha 2.0 для використання на своєму сайті:
Довідка Adobe Muse: https://goo.gl/coFJf2
Сервіс Google: https://goo.gl/n6g7fZ (у вас має бути свій обліковий запис і Ваш сайт повинен бути доданий до панелі Google).
ReCaptcha 2.0 у лайтбоксі. Про урок, приклад.
Цей урок спеціально для тих, хто не працює ReCaptcha 2.0 при розміщенні форми в лайтбоксі в Adobe Muse. Використання ReCaptcha 2.0 у формі Adobe Muse потрібне нам для боротьби зі спамом. Але при розміщенні у лайтбоксі цієї форми ReCaptcha 2.0 перестає працювати.
Виглядає це в такий спосіб. коли ми натискаємо на "Кнопка лайтбоксу з формою" і намагаємося тут натиснути на "Я не робот", у нас починається така постійна прокрутка, і ReCaptcha 2.0 не спрацьовує. Це звичайний лайтбокс, і в ньому розміщено форму Adobe Muse з рекапчею. Таким чином, ми не можемо тут надіслати дані цієї форми. Як вирішити цю проблему дивіться далі у цьому відеоуроці.
ReCaptcha 2.0 у лайтбоксі. Рішення.
Вирішення цього питання я знайшов на одному з форумів з Adobe Muse. І для того, щоб вирішити цю проблему, нам необхідно буде скачати один віджет. Віджет називається «Сторінка у фреймі», завантажити його ви зможете на даному сайті .
ReCaptcha 2.0 у лайтбоксі. Створюємо сторінки.
Отже, ми переходимо до програми Adobe Muse, де я вже підготовлений проект. Сама форма Adobe Muse у мене розміщена на окремій сторінці. Сторінку я називав «form», розмістив тут форму і один текстовий блок з таким текстом. У цій формі в налаштуваннях у мене включено ReCaptcha 2.0. Рекапча налаштована для мого домену. Для налаштування рекапчі вам знадобляться два коди: відкритий ключ та закритий ключ, якщо ви розміщуєте її на своєму сайті. Дану форму разом із цим текстом ми фіксуємо по центру сторінки, для цього у нас включена функція «Закріпити на сторінці», по центру стоїть значок. Сторінку я зробив шириною 360 пікселів і в гнучкому значенні ширини. От і все.
Наступна сторінка, яку я ще зробив додатково – це сторінка spasibo. Ширина цієї сторінки також 360 пікселів. І для макету вибрано гнучке значення ширини. Натискаю "ОК". Цей текстовий кадр на цій сторінці також закріплений по центру. Це та сторінка, на яку при переході з форми в налаштуваннях форми стоїть сторінка після надсилання сторінки спасибі.
Отже, ми маємо дві сторінки. Одна сторінка з формою та одна сторінка spasibo. І головна сторінка, на якій у нас розташований сам лайтбокс. Тут я зупинюся трохи докладніше. Зараз ви бачите, що у мене в даному лайтбоксі, начебто встановлена форма. Але насправді тут у мене в цільовому об'єкті даного лайтбоксу встановлена не форма, а встановлений віджет. Віджет, про який я говорив на початку цього уроку. Віджет називається "Вбудована сторінка". Ви просто перетягуєте його на сторінку. Тут знімаєте галочку «Вимкнути прокручування» і в URL даної сторінки ви повинні вказати URL-адресу тієї сторінки, на якій буде розміщена форма. В даному випадку це у нас сторінка «form», в якій розміщували нашу форму.
ReCaptcha 2.0 у лайтбоксі. Розміщення віджету у лайтбоксі.
Сам цей віджет ви розміщуєте у цільовому об'єкті лайтбоксу. Я зараз робити цього не буду, оскільки у мене там уже розміщено віджет. Цей я видалю, а тут покажу, що у мене в налаштуваннях даного віджету (це зараз налаштування лайтбоксу) вимкнена прокрутка і написана URL-адреса: , тому що моя сторінка з формою називається "form". До того часу, поки ви не опублікуєте цей сайт, форма в цьому лайтбоксі у вас не відображатиметься в проекті.
Оскільки я вже опублікував цей сайт за тією адресою, яка там вказана, то у мене зараз вже відображається форма в даному лайтбоксі. Якщо я зараз навіть трохи зміню назву, наприклад, приберу букву «l», тобто. Якщо я тут прописую чітко адресу моєї сторінки, яка вже розміщена на хостингу, то за допомогою даного віджету тут відбувається як б трансляція сторінки «form» у цей віджет. А віджет у нас розміщений у цільовому об'єкті лайтбоксу. Тут у принципі все.
ReCaptcha 2.0 у лайтбоксі. Розміщення сайту на хостингу.
Далі розміщуємо наш сайт у себе на хостингу. Після розміщення це виглядатиме ось так. У мене даний сайт розташований у підпапці «rec» мого домену, і при натисканні на кнопку «Кнопка лайтбоксу з формою у кадрі» у нас з'являється вікно, де показується форма з рекапчею. Тепер під час початку саму рекапчу, рекапча спрацьовує, і ми можемо спокійно відправити цю форму.
Мінус цього способу тільки в тому, що при розміщенні кількох таких лайтбоксів на одній сторінці всі вони будуть надсилатися на одну сторінку «form». Для того, щоб ви змогли відстежувати з якої саме форми прийшла заявка, вам необхідно буде зробити ще одну сторінку «form». Наприклад, дублювати її і назвати «form1». У налаштуваннях форми робите зміни, наприклад, тут пишіть Форма form1, щоб вони відрізнялися за назвою. І робите на основній сторінці ще один лайтбокс із встановленим у нього віджетом або просто дублюєте, натиснувши "Копіювати" та "Вставити".
Ми отримуємо ще одну кнопку з лайтбоксом. Я розміщу її трохи нижче. І вже в налаштуваннях даного віджету, який розміщений у нас тут у цільовому об'єкті, ми маємо вказати адресу сторінки «form1». До речі, зараз ви побачите, що оскільки я ще не опублікував цю сторінку у себе на сайті, тут поки в даному лайтбоксі форма не відображається. Після публікації ви побачите таку саму картину, тільки в даному цільовому об'єкті другого лайтбоксу буде у нас розміщена «form1».
ReCaptcha 2.0 у лайтбоксі. Особливості методу.
Всі дані сторінки з формами, які ми натворювали, є частиною одного і того ж сайту, тому ви зможете також відстежувати конверсію з кожної форми при налаштуванні в Яндекс.Метрики.
Також для кожної форми ви зможете створити окрему сторінку spasibo. Давайте подивимося, як це працюватиме вже на сайті. Ви натискаєте на кнопку "Кнопка лайтбоксу з формою у кадрі", підтверджуєте, що ви не робот, рекапча спрацьовує. Напишіть ім'я. Я напишу «Дмитро» і напишу тут адресу будь-якої електронної пошти, наприклад, «123@mail.ru», натискаю «Надіслати». І після відправки у мене з'являється сторінка «Дякую за Ваше замовлення!» – це сторінка, яку ми налаштовували цієї форми, тобто. окрема сторінка "spasibo". Перехід на неї налаштований для цієї форми.
Посилання на форум, на якому я знайшов вирішення цього питання. А на цьому я прощаюсь, із вами був Дмитро Шаповалов. Дивіться мої попередні та наступні уроки на моєму каналі, ставте лайки та пишіть коментарі до цього відео.
Ось уже кілька днів recaptcha поводиться дуже дивно. Якщо не проходити авторизацію в обліковому записі Google, то ще, з горем навпіл, вирішити капчу можна. Багато користувачів інтернету, у тому числі й працівники, зіштовхнулися з цією проблемою.
Найдієвіший спосіб позбутися повільної рекапчі - змінити обліковий запис Google на новий або той, який не використовується в сервісах накрутки. Також можна спробувати вийти з сервісів гугла. Іноді проблему вирішує режим інкогніто, очищення чи зміна браузера, зміна користувача-агента чи ip-адреси.А ось яку інструкцію запропонував один із учасників гурту «RuCaptcha – АнтиКапча сервіс #1». Можливо, вона комусь допоможе побороти "Естонські капчі" ().
1. Створюйте пошту(gmail) та підтверджуєте номер телефону при реєстрації, це важливо! Коли реєструєте без підтвердження номера – пошта не зовсім валідна для гугла. Я реєстрацію пошти з іншого ip. З мобільного телефону (3G 2G мережі) він динамічний. При кожній реєстрації нової пошти відключаєте та вмикаєте інтернет. Перевірити чи змінився ip можна тут - 2ip.ru.
2. Видаляємо програму(Якщо СТАРА ВЕРСІЯ стоїть, видаляємо програмою Unіnstall Tool (примусове видалення – чиститься реєстр) або її аналогами. Після видалення потрібно ще зайти ще у файл hosts, стерти залишки від старої програми.
Шукаємо файл: простіше комбінацією гарячих клавіш WINDOWS + R викличте меню "Виконати" і там введіть команду: %systemroot%\system32\drivers\etc та папка з хостс-файлом відкриється.
Відкриваємо hosts та стираємо залишки програми:
# Start Rucap
TEST - (тут може бути адреса, звідки після прилетіла рекапча)
# End Rucap
Зберігаємо.
Якщо НОВА ВЕРСІЯ просто видаляємо програму (папку) потім заходимо в hosts і чистимо залишки програми і зберігаємо! Вище написано. Перезавантажуємо комп'ютер.
3. Встановлюємо стару чи нову версію бота.
Заходимо в облік рукапчі та в gmail обліковий запис відразу, який ви створили! Не виходимо, натискаємо Старт/Play. Якщо нерозв'язна все ж таки з'явилася, ще раз зайдіть і відразу вийдіть з gmail, і натискайте Старт/Play
Важливе зауваження! Не використовуйте цю пошту на другому боті або одночасно! Для другого створюйте нову пошту gmail.
Особистий досвід та спостереження:
Коли почалися проблеми у всіх, у мене роботи працювали, а в один "прекрасний день" - 2 бот перестав працювати (рекапча не наважувалася), а 1 як працював так і працює зараз.
Виходячи з цього, аналізуючи поведінки одного робота, вирішив зробити все так само як я описав в інструкції, і ось вирішив поділитися з Вами!
Особисто я знайшов для себе єдино-правильне рішення для боротьби з повільними рекапчами. Докладніше напишу про це в окремій статті, а поки що можете прочитати малюнок:
Останнім часом, у США, стало з'являтися дуже багато естонських рекапч. Google явно запроваджує якісь нові алгоритми для свого дітища. Робити простіше в цій програмі, як і раніше, можна лише за допомогою авторизації в Gmail.
Нещодавно з'ясувалося, що не всякий обліковий запис може вирішити проблему з повільною рекапчею, з деякими справи йдуть тільки гірше. Які облікові записи Google гарантовано зможуть допомогти нам?
- акаунти, вік яких, кілька років і старше;
- аккаунти, в які не заходили дуже давно;
- Нещодавно створені облікові записи, за умови, що і в них не заходили відразу.
Введення капчі може знадобитися, щоб нормально користуватися якоюсь програмою, сайтом або для реєстрації. Суть капчі проста: підтвердити, що ви не робот. Але що робити, якщо вона не відкривається або вперто видає, що ви ввели невірний результат?
- Чому складно розпізнати капчу
- Якщо капча введена неправильно
- Як вводити капчу за гроші
Якщо вам обов'язково потрібно зареєструватися на конкретному форумі, спробуйте спочатку перевірити, чи працює капча взагалі. Для цього зображення потрібно відкрити в окремому вікні та подивитися, що буде показувати (нічого, картинку, код). Якщо з'явилися незрозумілі символи, то причина, з великою ймовірністю, у глюку з кодом. У цьому випадку ви можете лише написати адміністрації сайту.
Чому складно розпізнати капчу
Нижче наведено деякі способи захисту:
- застосування російського алфавіту (виняток англійської);
- застосування комбінації букв російського алфавіту та цифр;
- введено додатковий захист у вигляді накладання різних фільтрів, спотворень, сміття тощо.
Такий захист сильно ускладнює прочитання та розпізнавання капчі не тільки фахівцям, а й звичайним користувачам ресурсів в інтернеті, підготовка яких в рази нижча.
Якщо капча введена неправильно
Проблема з капчею виникає з різних причин: при введенні капчі відкривається картинка з одним/двома словами, які слабо розрізняються на тлі зображення, крім того, форма символів спотворена, слова написані з помилками; комп'ютеру складно розпізнавати спотворені шрифти та безглуздий текст, людина ж може цим скористатися для аутентифікації.
- Зайти із різних браузерів. Іноді це допомагає.
- Перевірити швидкість Інтернету. Справа в тому, що за дуже низьких показників картинка може банально не завантажуватись. Або робити це з помилками.
- Переконатися в тому, що ви дозволили показ зображень, адже капча - насправді картинка. Бажано подивитися це у відповідних налаштуваннях. Якщо там стояло обмеження, просто виправте та перезавантажте браузер.
- Зайти із головної сторінки сайту. Це справді іноді спрацьовує.
- Спробувати знайти аудіоверсію капчі. Цілком можливо, що з озвучкою все гаразд.
- Постаратися пройти реєстрацію або виконати потрібні дії зі стільникового. Буває, що мобільна версія сайту цілком пускає.
- Не проходить перевірка: капча може конфліктувати з антивірусним програмним забезпеченням, вона сприймається як потенційно небезпечний елемент. Спробуйте деактивувати антивірусник та оновити сторінку;
- Запитати, чи не схожа проблема у інших користувачів в Рунеті. Так ви точно знатимете, чи пов'язана ця неприємність з вашим комп'ютером.
Швидше за все, один із цих способів спрацює. В іншому випадку вам потрібно шукати інші варіанти.
Дивіться відео на тему:
Інші варіанти обійти капчу
Перший варіант – звернутися до сервісів, які надають послугу розпізнавання капчі – Rucaptcha, Antigate тощо. Ідея непогана, але якщо проблема полягає у кодуванні сайту, то букси тут не допоможуть. До того ж, для замовника існує певний мінімум (як правило, це близько 1 долара), який йому потрібно спочатку перевести на рахунок ресурсу. Це має сенс, коли йдеться про тисячу капч, але не про одну чи кілька.
Другий варіант – спробувати скористатися програмами, які автоматично розпізнають капчу. Вони мають невелику ефективність. приблизно 10%, але цього достатньо, щоб оминути простий захист. А ось зі складними випадками вони не впораються.
Крім того, такі програми після початку масового використання швидко стають марними. Тому потрібно постійно шукати нових варіантів. Так шанси, що вони ще працюють, вищі.
Як вводити капчу за гроші
Якщо вас не дратує капча, у вас є вільний час та бажання підзаробити, ви можете самі зареєструватися на ресурсах розпізнавання капчі та заробляти 50 рублів на годину або близько того. Ця робота хороша тим, що підходить практично будь-кому, адже жодних особливих знань для неї не потрібно. Подробиці читайте у цій статті.
- ручний злом 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% точний результат, що позитивно впливає на безпеку капчі та сайтів, що її використовують.
Якщо ви вирішили використати графічні капчі, для проходження яких потрібно ввести символи, зображені на зображенні, потрібно слідувати наступним рекомендаціям:
- Символи різних CAPTCHA повинні мати різні координати.
- Якщо ви використовуєте якісь ефекти шуму для створення фону, його колір повинен збігатися з кольором символів, інакше фон можна легко прибрати, виділивши символи для розпізнавання.
- Відстань між символами має бути мінімальною. Можна навіть накладати їх один на одного, але без фанатизму, щоб реальні користувачі могли їх розпізнати.
- Використовувати різні шрифти, щоб було складно підібрати відповідний для розпізнавання.
- Всіляко спотворювати символи, змінювати їхнє накреслення і товщину.
- Використовувати спеціальні бібліотеки, які дозволяють змінювати символи таким чином, що для їхнього програмного розпізнавання неможливо підібрати шрифт. Прикладом такого рішення є капча від автора ресурсу 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, що є одним із досягнень Google у галузі штучного інтелекту, про які згадувалося в попередньому способі обходу капчі, буде дуже доречним. Оскільки сервіс надає 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 cccpblogcom@gmail.com.