Большинство веб-мастеров используют Google ReCaptcha в качестве защиты от автоматики. Но это не единственное решение на рынке. Одна из самых популярных альтернатив – Hcaptcha. Теперь он используется CloudFlare, лидером на рынке анти-DDOS и один из крупных поставщиков CDN в данный момент. Это означает, что если CloudFlare находит вас подозрительным, рано или поздно вы встретите Hcaptcha.
CloudFlare Happy объявил, что переезжают из Google ReCaptcha к Hcaptcha Intuition Machines. Движение помогло большим временем с проблемами конфиденциальности данных и гибкостью CAPTCHA. Теперь защита атаки еще более адаптивна. Это повлияет на все клиенты CloudFlare.
Также, Hcaptcha.
- В отличие от Google, он не собирает личные данные;
- Из-за распределенного во всем мире CDN CAPTCHA работает быстро и безупречно;
- Совместим с recaptcha, поэтому он очень легко мигрировать;
- Подходит для людей с ограниченными возможностями.
Звучит отлично, не так ли? Но Как насчет обход Hcaptcha на CloudFlare?
Для быстрой автоматизации Hcaptcha мы будем использовать модуль 2Captcha-Python. Это требует Python 3.x и может быть установлен с PIP
pip3 install 2captcha-python
Или вы можете клонировать репозиторий, но не забудьте установить модуль запросов заранее.
git clone https://github.com/2captcha/2captcha-python.git
Подготовка
Нам нужно будет создать новый экземпляр класса 2Captcha, отправляя ваш ключ API.
from 2captcha import 2Captcha #module import solver = 2Captcha('YOUR_API_KEY') #your 2captcha API key
Резолюция CAPTCHA
Теперь давайте создадим алгоритм резолюции CAPTCHA.
result = solver.hcaptcha(sitekey='10000000-ffff-ffff-ffff-000000000001', url='https://www.site.com/page/', proxy={ 'type': 'HTTPS', 'uri': 'username:password@1.2.3.4:1234' })
Обратите внимание, что CloudFlare проверяет IP-адрес во время проверки токена Hcaptcha. Так что теперь капча должна быть решена из того же IP-адреса, от которого вы его отправляете. Чтобы успешно обойти HCaptcha на CloudFlare, вы должны отправить ваш прокси вместе с другими параметрами CAPTCHA.
Этот звонок вернет токен, чтобы обойти капчу.
{'captchaId': '64793693810', 'code': 'P0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUz...'}
Используя решение
Затем токен из кода отправляется на веб-сайт в полях H-CAPTCHA-ответа и G-reCaptcha-ответа. Самый простой способ сделать это использует JavaScript, если вы используете браузер. В противном случае отправьте токен в соответствующий HTTP-запрос.
let submitToken = (token) => { document.querySelector('[name=g-recaptcha-response]').innerText = token document.querySelector('[name=h-captcha-response]').innerText = token document.querySelector('.challenge-form').submit() } submitToken('TOKEN_STRING')
Стоит ли время проведено время? По нашему мнению, абсолютно да. Пара строк кода сэкономит вам много времени. И, если вы решите запустить самосвязное решение, 2Captcha будет еще более прибыльным.
Оригинал: “https://dev.to/kentavr009/bypassing-hcaptcha-with-python-4ghh”