Автоматическое распознавание Amazon AWS WAF Captcha
Подробный обзор технологии защиты AWS WAF CAPTCHA, принципов её работы и способов автоматического прохождения.
Начать решатьЧто такое AWS WAF Captcha
AWS WAF Captcha является частью межсетевого экрана веб приложений от Amazon Web Services. Система предназначена для защиты сайтов и API от ботов, автоматизированного скрейпинга, подстановки учётных данных и спама. В отличие от классических текстовых проверок, AWS WAF предлагает визуальные головоломки и скрытые проверки, подтверждающие, что запрос отправлен реальным человеком из настоящего браузера.
Система случайным образом генерирует задания и ротирует их, чтобы каждый пользователь получал уникальную головоломку. Помимо визуальных пазлов, скрипт CAPTCHA собирает данные о клиентском окружении, чтобы убедиться, что задачу решает человек, и предотвратить атаки повторного воспроизведения.
Визуальные головоломки
Сетки изображений, подбор фрагментов и выбор правильных объектов вместо устаревших текстовых капч.
Silent Challenge
Скрытая проверка в фоновом режиме: система определяет, является ли клиент настоящим браузером или ботом.
Адаптивная сложность
Уровень задания подстраивается под оценку «подозрительности» посетителя в реальном времени.
Как устроена защита AWS WAF CAPTCHA
Механизм работы основан на двух типах действий: CAPTCHA и Challenge. Действие CAPTCHA показывает пользователю визуальное задание, которое необходимо решить вручную. Действие Challenge выполняет скрытую проверку, не требующую участия пользователя, что позволяет отсеивать ботов без ущерба для пользовательского опыта.
При загрузке страницы виджет AWS WAF формирует отпечаток клиентского окружения и проверяет наличие валидного токена. Если токен отсутствует или просрочен, система возвращает ответ с кодом HTTP 405 и вставляет интерстициальную страницу с головоломкой. После успешного решения токен записывается в cookie и отправляется вместе с последующими запросами, позволяя проходить проверки без повторных заданий до истечения времени иммунитета.
💡 AWS WAF CAPTCHA используется на сайтах крупных компаний, финансовых сервисах, игровых платформах и государственных ресурсах, размещённых в инфраструктуре Amazon, что делает умение работать с этой капчей критически важным для автоматизации.
Распознавание через клики по изображениям
Данный метод позволяет пройти AWS WAF CAPTCHA путём точных кликов по нужным областям изображения. Сервис анализирует картинку, определяет объект, изображённый на капче, и возвращает готовые координаты точки, по которой необходимо кликнуть. Поддерживается несколько версий визуальных заданий Amazon, а также задания со слайдерами. Среди поддерживаемых типов задач: «Place a dot at the end of the car's path», «Slide the image to complete the pyramid», «...the knot», «...the cone», «...the cube», «...the ball», «...the cylinder», «...the donut» и множество других.
Извлечение параметров
Получить целиком изображение капчи и инструкцию, по каким картинкам кликать. Изображение можно передать как файл (multipart) или в формате base64.
Отправка задачи
Сформируйте POST запрос к API http://api2.cap.guru/in.php. В параметре textinstructions укажите текст задания, например: «Amazon,Place a dot at the end of the car's path». Параметр click установите в значение «oth». Сервер вернёт ID задачи.
Ожидание решения
Подождите 5 секунд и отправьте GET запрос к http://api2.cap.guru/res.php для получения результата. Если задача решена, сервер вернёт координаты в формате «coordinate:x=44,y=32», где точка x=0,y=0 соответствует верхнему левому углу изображения. Если задача ещё не решена, вы получите CAPCHA_NOT_READY.
Подстановка координат
Чтобы пройти задание, вам нужно поочередно кликать по полученным координатам на изображении капчи.
Рекомендации
Для стабильной работы при решении AWS WAF CAPTCHA стоит придерживаться нескольких правил. Во первых, текст задания (textinstructions) передавайте только на английском языке, так как поддерживаются задачи исключительно в этом формате. Во вторых, используйте актуальные прокси серверы и ротацию IP адресов, чтобы снизить вероятность блокировки. В третьих, имитируйте естественное поведение пользователя: добавляйте задержки между действиями и реалистичные заголовки запросов. Также всегда проверяйте валидность отпечатка браузера.
Соблюдение этих рекомендаций позволяет значительно повысить процент успешных прохождений и сократить издержки на повторные попытки.
Cap.guru