AWS WAF CAPTCHA

Распознавание AWS WAF CAPTCHA: автоматическое получение aws-waf-token

Amazon WAF закрывает сайт сеткой картинок или пазлом с игрушечной машинкой, пока посетитель не получит cookie aws-waf-token. CapSkip получает этот cookie для ваших скриптов на компьютере с Windows, которым управляете вы, по одной фиксированной цене в месяц.

Windows x64·Работает локально, поэтому капча не покидает ваш компьютер
  • Сетка картинок и пазл с машинкой
  • Возвращает aws-waf-token
  • Фиксированный тариф в месяц
решений AWS WAF в месяц40,000
40.0k250.0k
В других сервисах поштучно, примерно $1.45 за 1000$58.00
CapSkip Bronze, фиксированно$35.00
$23.00остаётся у вас в карманекаждый месяц при таком объёме

Когда веб-файрвол Amazon решает, что посетитель похож на бота, он перестаёт отдавать страницу и сначала требует доказательство. Это доказательство и есть капча AWS WAF: обычно сетка картинок 3x3 с заданием вроде "Выберите все шторы" и кнопкой Confirm, иногда небольшой пазл, в котором игрушечная машинка должна доехать до конца городской улицы. Справитесь, и сайт выставит cookie aws-waf-token; до тех пор ваш парсер или бот не видит ничего, кроме проверки.

CapSkip представляет собой сервис распознавания капчи AWS WAF, который вы устанавливаете на настольный ПК с Windows, VPS или сервер. Вы передаёте ему значения из проверки, а он возвращает токен, нужный вашему HTTP-клиенту, чтобы продолжить работу, независимо от того, показывает ли сайт полностраничную заглушку 405 или встраивает виджет JavaScript API в форму. Ни одна удалённая ферма распознавания так и не узнает, с какими сайтами под защитой Amazon вы работаете.

Сервисы с оплатой за каждое решение обычно берут около $1.45 за каждую тысячу решений AWS WAF и заново выставляют счёт за каждую повторную попытку. CapSkip стоит одну и ту же фиксированную сумму от $35 в месяц при любом объёме, а инструмент, уже написанный под старый API in.php / res.php, Anti-Captcha, CapSolver или CapMonster, может отправлять свои задачи Amazon WAF в CapSkip без изменений в коде.

Токен остаётся у вас. CapSkip решает капчу AWS WAF на той машине, где работает приложение, поэтому сайты, которые вы обходите, значения проверок и полученные cookie никогда не проходят через сторонний сервис распознавания. Читать руководство по настройке

Создан для сайтов под защитой Amazon WAF

И сетка картинок, и машинка

AWS WAF сам выбирает, какой пазл достанется посетителю. CapSkip решает и сетку картинок "Выберите все...", и пазл с маршрутом игрушечной машинки, так что задача никогда не встанет на том варианте, к которому не была готова.

Полностраничная проверка или встроенный виджет

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

Cookie, которого не хватает вашему клиенту

В ответ вы получаете значение для cookie aws-waf-token или пару ваучеров, которую возвращает старый API. Установите это значение, повторите запрос, и защищённая страница загрузится как обычно.

Текущие клиенты продолжают работать

Запросы AmazonTask, AntiAwsWafTask и in.php method=amazon_waf принимаются как есть. Выберите в приложении сервис, с которым уже работает ваш код, и оставьте код прежним.

Прокси для настоящих объёмов

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

Повторные попытки за наш счёт

Истёкший токен, страница, спросившая дважды, запуск, который за ночь вырос вдвое: ничего из этого не попадёт в ваш счёт, потому что тариф считается по машинам и ничего не измеряется.

Три способа пройти капчу AWS WAF с CapSkip

Python
from capskip import CapSkip

solver = CapSkip(host="127.0.0.1", port=8080)

# Values from the 405 page's window.gokuProps. iv and context are optional:
# leave both out and CapSkip reads them from the page itself.
result = solver.amazon_waf(
    sitekey="AQIDAHjcYu/GjX+QlghicBg...",   # gokuProps.key
    iv="CgAHbCe2GgAAAAAD",                  # gokuProps.iv
    context="zPT0jOl1rQlUNaldX6LUpn4D...",   # gokuProps.context
    url="https://example.com/products",
)

# POST this pair to the voucher endpoint beside challenge.js for the cookie.
print(result["captcha_voucher"], result["existing_token"])

В Python это один вызов: на вход подаются значения из window.gokuProps и адрес страницы, а обратно приходит пара значений с ваучером, которую сайт превращает в cookie aws-waf-token.

В Chrome или Firefox

Если расширение CapSkip установлено, а приложение открыто, страница проверки AWS WAF, на которую вы попадаете в браузере, проходится за вас, и страница перезагружается уже с нужным cookie.

Из ваших собственных скриптов

Отправляйте значения проверки по обычному HTTP из Python, Node.js, PHP, C# или чего угодно, что умеет делать запросы, и через мгновение забирайте токен.

Через инструмент, который у вас уже есть

Инструменты, которые уже отправляют задачи AWS WAF в сервис распознавания в поддерживаемом формате, можно направить на CapSkip, сохранив те же запросы и ответы.

От установки до первого aws-waf-token

  1. Установите CapSkip на Windows

    Установите приложение на ПК, VPS или сервер, который будет обрабатывать ваш трафик AWS WAF. Его локальный API запускается вместе с ним. Скачать CapSkip

  2. Выберите тариф или начните пробный период

    Тарифы зависят от количества машин, а не решений. Бесплатный пробный период даёт 3 дня и 500 решений, чтобы проверить собственные сайты под защитой Amazon, и не требует карты. Сравнить тарифы

  3. Отправьте первую задачу AWS WAF

    Отправьте значения проверки в CapSkip или переключите в приложении свой текущий клиент, добавьте прокси для объёма и установите полученный токен как cookie aws-waf-token. Открыть документацию API

CapSkip против сервисов AWS WAF CAPTCHA с оплатой за решение

Одна и та же проверка Amazon WAF, два способа за неё платить: фиксированный локальный тариф или счёт, который растёт с каждым токеном.

ФункцияCapSkipСервисы с оплатой за решение
Модель оплатыОдин месячный тариф от $35, сколько бы вы ни решалиОколо $1.45 за 1,000 решений AWS WAF
Типы пазловСетка картинок и пазл с маршрутом машинкиЗависит от сервиса
Форматы проверкиЗаглушка 405 и виджет JS-APIЗависит от сервиса
Где выполняется решениеВаш собственный ПК с Windows, VPS или серверИх серверы, каждая задача уходит к ним
Повторы после истёкшего токенаБесплатно, ничего не считаетсяОплачиваются как новые решения
Клиентский кодВаш текущий клиент in.php или createTask без измененийИх собственный формат задач
МасштабированиеТемп задают ваше оборудование и список проксиОбщая очередь и лимиты на аккаунт

Цены

Хватит платить за каждое решение

Выберите лицензию

Лицензия Bronze

$35/ месяц

Подписаться на Bronze

Мгновенная активация лицензии

Оплата помесячно. Отменить подписку можно в любой момент в личном кабинете.

Функции те же. Больше машин, больше производительность.

Каждая машина решает настолько быстро, насколько позволяют её процессор и память. Больше машин означает больше одновременных потоков, поэтому Silver решает вдвое больше капч одновременно, а Gold втрое больше.

  • Безлимитное решение, без дневных ограничений
  • Безлимитные потоки, скорость растёт вместе с оборудованием
  • Точность распознавания от 90% до 100%
  • Прямая замена API основных сервисов распознавания
  • Работает почти с любым инструментом, без программирования
  • REST API, SDK и расширение для браузера
  • Бесплатное обучение, когда появляется новый тип капчи
  • Работает на вашей машине, ничего с неё не уходит

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

Просто хотите сначала попробовать?

Начните с бесплатного 3-дневного пробного периода и решите 500 капч любого типа на своих целевых сайтах.

Оформите бесплатный пробный период

Как работает AWS WAF CAPTCHA и как решить её через API

AWS WAF представляет собой файрвол, который Amazon Web Services ставит перед дистрибуциями CloudFront, балансировщиками нагрузки и API-шлюзами. Владельцы сайтов пишут правила, определяющие, что происходит с каждым запросом, и одно из доступных действий называется CAPTCHA. Когда правило срабатывает, посетитель получает не запрошенную страницу, а пазл, и только решённый пазл даёт cookie aws-waf-token, который пропускает последующие запросы, пока не истечёт.

Проверка приходит в одном из двух видов. Самый частый вариант представляет собой заглушку: сервер отвечает статусом HTTP 405 и небольшой HTML-страницей, которая задаёт window.gokuProps (key, iv и context) и загружает challenge.js и captcha.js с хостов awswaf.com. Второй вариант называется JavaScript API: сайт подключает jsapi.js и вызывает AwsWafCaptcha.renderCaptcha со своим ключом API, поэтому пазл появляется внутри формы, а не заменяет страницу. Решение для AWS WAF должно принимать оба варианта.

Сам пазл обычно представляет собой сетку картинок: девять фотографий, одно задание с названием обычного предмета, например сумок, кроватей, часов или штор, и кнопка Confirm. Второй вид просит провести игрушечную машинку через маленький город до конца дороги. Есть и аудиовариант для людей с ограниченными возможностями. Что бы ни выпало, для вашего клиента важен один и тот же результат: действующий токен или, в старом API, пара captcha_voucher и existing_token, которую страница обменивает на cookie.

При больших объёмах продумайте сеть раньше кода. Одного IP достаточно, чтобы опробовать CapSkip на нескольких страницах, но парсер, который вызывает AWS WAF тысячи раз в день, должен менять адреса из списка прокси, загруженного в приложение CapSkip или передаваемого с каждым запросом в полях proxy и proxytype. Храните cookie в той сессии, которая его запросила, и запрашивайте новый, когда сайт снова начинает отвечать 405.

Что именно CapSkip возвращает для капчи AWS WAF?
Это зависит от стиля API, который использует ваш клиент. Клиенты, написанные под AntiAwsWafTask, Anti-Captcha или вариант CapMonster с cookie, получают значение aws-waf-token напрямую. Старый поток in.php / res.php и AmazonTask возвращают captcha_voucher вместе с existing_token, то есть пару, которую сайт превращает в cookie. В любом случае в ответе те же поля, которые ваш код уже читает.
Какие значения нужно отправить?
Для страницы проверки 405: URL страницы, а также key, iv и context из window.gokuProps и адреса challenge.js и captcha.js. Для виджета JavaScript API: URL страницы, ключ API виджета и адрес jsapi.js. Прокси для каждого запроса указывается по желанию. В документации API перечислены все названия полей для каждого поддерживаемого клиента.
Решает ли CapSkip пазл с игрушечной машинкой так же, как сетку картинок?
Да. AWS WAF сам выбирает, какой пазл увидит посетитель, и решаются оба: и сетка картинок "Выберите все...", и пазл с маршрутом игрушечной машинки. В запросе не нужно указывать, какой из них покажет сайт.
Отличается ли страница 405 от виджета капчи AWS WAF?
Они ведут к одному и тому же cookie, но появляются по-разному. Заглушка 405 заменяет всю страницу проверкой и возвращает вас к содержимому после решения. Виджет JS-API находится на собственной странице сайта, часто в форме входа или оформления заказа, и запускается скриптом сайта. CapSkip принимает входные данные в обоих вариантах.
Нужны ли прокси, чтобы решать капчу AWS WAF в больших объёмах?
Для тестов не нужны: хватит вашего собственного подключения. Для рабочих объёмов нужны. Правила файрвола часто ограничивают частоту запросов или показывают проверку нагруженным адресам, поэтому распределите работу по списку прокси в приложении CapSkip или передавайте прокси с каждым запросом. Принимаются прокси HTTP, HTTPS и SOCKS.
Можно ли направить мой текущий код для капчи Amazon WAF на CapSkip?
Обычно без правок. CapSkip понимает форматы запросов старого API in.php / res.php (method=amazon_waf), AmazonTask и AmazonTaskProxyless, AntiAwsWafTask от CapSolver, а также аналоги Anti-Captcha и CapMonster. Выберите в приложении нужный сервис, и задачи, которые ваш код уже отправляет, будут решаться локально.
Сколько времени занимает одно решение AWS WAF?
В большинстве случаев несколько секунд. Общей с другими клиентами очереди нет, поэтому время зависит от вашей машины, вашей сети и используемого прокси. Можно запускать несколько задач AWS WAF параллельно, а число потоков задаётся настройкой в приложении, а не лимитом тарифа.
Почему для капчи AWS WAF стоит выбрать фиксированный тариф, а не платить за каждое решение?
Потому что токены AWS WAF истекают, а нагруженные парсеры запрашивают их снова и снова. В сервисе с оплатой за решение каждый новый токен означает новое списание, около $1.45 за тысячу. CapSkip берёт плату за ПК: тариф Bronze покрывает один за $35 в месяц, подключение бесплатное, а повторные решения никак не меняют счёт.

Проходите капчу AWS WAF без счёта за каждый токен

Установите CapSkip, войдите в аккаунт и отправляйте проверки AWS WAF на собственную машину. Сетки картинок, пазлы с машинкой и повторы после истёкшего токена входят в один месячный тариф.