Looking for international version of our service? Go to 2captcha.com

Как обойти Amazon AWS капчу: Решение по автоматизации

Как обойти Amazon AWS капчу: Решение по автоматизации

Сервис ruCaptcha запустил услугу по обходу Amazon AWS капчи.

Сервис можно использовать для решения любых видов капч Amazon AWS.

Мотивация: Капчи Amazon ограничивают доступ к сервисам и информации из-за социального или культурного происхождения пользователей, физических и когнитивных способностей и других причин.

ruCaptcha - это сервис для автоматического обхода любых капч. Оплата только за успешно обработанные запросы.

В данном материале описан процесс взаимодействия с API для обхода пазлов Amazon и собраны примеры кода на различных языках программирования.

Что такое Amazon капча?

Капча Amazon является частью системы Amazon AWS.

В качестве капчи Amazon использует простые для людей и сложные для ботов пазлы, которые и помогают отсеивать автоматизированные системы и парсеры.

Капча разработана для блокировки ботов и автоматизированных систем. Обычно капча используется, когда полная блокировка трафика недопустима, но пропуск всего трафика создает слишком большую нагрузку из-за количества роботов, например, парсеров.

Если запрос посетителя выглядит подозрительно, Amazon показывает капчу в виде пазла. Вместо пазла у пользователя есть опция выбрать альтернативу - аудио капчу.

amazon captcha solving service: fast bypass api

Если капча решена успешно, пользователь возвращается на целевую страницу.

Если пазл не был решен, пользователю предлагается решить еще один пазл до тех пор, пока задача не будет решена.

Чтобы обеспечить уникальность заданий для пользователей и оставаться эффективным в борьбе с системами автоматизации, Amazon создает и сортирует пазлы случайным образом, также регулярно добавляет новые типы пазлов.

Чтобы проверить, что задание выполнено пользователем и предотвратить автоматизированные запросы, кроме прохождения самих пазлов, Amazon также использует сбор и аналитику данных о пользователе.

Amazon капча может ограничить доступ многим ботам, но не может полностью исключить все автоматизированные системы по обходу.

Способы автоматизации процесса решения Amazon AWS капчи

Основные способы автоматизировать процесс обхода:

  • Пазлы могут быть решены с помощью машинного обучения;
  • Пазлы могут быстро решаться при помощи использования мотивированных работников, которые выполняют задания на сервисах распознавания.

Как автоматически обходить капчу Amazon с помощью API

Задачу по автоматизации обхода решают специальные сервисы.

Процесс обхода заключается в следующем:

  • Используя API заказчик передает набор необходимых параметров со страницы размещения капчи в сервис, где ее решает работник.
  • После, заказчик запрашивает набор параметров, которые необходимо передать в соответствующие поля для решения капчи на целевой странице.
Автоматический обход Amazon AWS

Решение Amazon капчи с помощью API — отличный способ автоматизировать процесс обхода. Этот процесс быстрый и надежный, и его можно использовать для решения любых капч, включая пазлы от сервиса Amazon. Оплата взимается исключительно в случае успешного разгадывания пазла.

Чтобы использовать API пользователь должен зарегистрироваться на сайте ruCaptcha.

После подтверждения адреса электронной почты пользователь может начать пользоваться API.

Далее описан процесс взаимодействия с API и примеры кода на самых популярных языках программирования.

Отправка запроса

Отправьте запрос к API на in.php с параметрами. Список необходимых параметров:

Параметр Описание
key API ключ
method amazon_waf - название метода Amazon WAF captcha
sitekey значение параметра sitekey размещенного на целевой странице
iv значение параметра iv, находится на целевой странице
context значение параметра context, находится на целевой странице
pageurl полный адрес целевой страницы

В ответ на запрос API возвращает идентификатор капчи.

Если задача принята в обработку, должен вернуться ответ, содержащий id запроса.

Пример:

{
   OK|xxxxxx
}

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

Если отправка файла завершилась ошибкой, должен вернуться ответ с ошибкой. Перечень всех ошибок с описанием собран в списке.

После отправки запроса нужно подождать 15-20 секунд пока завершится распознавание и затем можно выгрузить распознанный текст отправив HTTP GET запрос к API по URL res.php.

Получение ответа

Чтобы получить решение, нужно отправить запрос нужно к файлу res.php с параметрами:

Параметр Описание
key ключ API
action get - означает отправку запроса на получение результата решения
id цифровое ID запроса, переданное файлом in.php

Если пазл успешно решен, сервис предоставляет ответ в следующем формате:

{
  "status": 1,
  "request": {
    "captcha_voucher":"xxxxx",
    "existing_token":"xxxxx"
  }
}

Примеры кода

Обход, распознавание и автоматическое решение Amazon AWS капчи на Java

import com.twocaptcha.TwoCaptcha;
import com.twocaptcha.captcha.AmazonWaf;

public class AmazonWaf {
  public static void main(String[] args) {
    TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
    solver.setHost("2captcha.com");
    AmazonWaf captcha = new AmazonWaf();
    captcha.setSiteKey("AQIDAHjcYu/GjX+QlghicBgQ/7bFaQZ+m5FKCMDnO+vTbNg96AF5H1K/siwSLK7RfstKtN5bAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglg");
    captcha.setUrl("https://non-existent-example.execute-api.us-east-1.amazonaws.com");
    captcha.setIV("test_iv");
    captcha.setContext("test_context");
  try {
      solver.solve(captcha);
      System.out.println("Captcha solved: " + captcha.getCode());
  } catch (Exception e) {
      System.out.println("Error occurred: " + e.getMessage());
  }
}

}

Обход, распознавание и автоматическое решение Amazon AWS капчи на PHP

require(__DIR__ . '/../src/autoloader.php');

$solver = new \TwoCaptcha\TwoCaptcha('YOUR_API_KEY');

try {a
    $result = $solver->amazon_waf([
        'sitekey' => 'xxxxx',
        'url'     => 'https://non-existent-example.execute-api.us-east-1.amazonaws.com',
        'iv'      => 'test_iv',
        'context' => 'test_context'
    ]);
} catch (\Exception $e) {
    die($e->getMessage());
}

die('Captcha solved: ' . $result->code);

Обход, распознавание и автоматическое решение Amazon AWS капчи на языке Python

import os

sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))

from twocaptcha import TwoCaptcha

api_key = os.getenv('APIKEY_2CAPTCHA', 'YOUR_API_KEY')

solver = TwoCaptcha(api_key)

try:
    result = solver.amazon_waf(sitekey='0x1AAAAAAAAkg0s2VIOD34y5',
                            iv='CgAHbCe2GgAAAAAj',
                            context='9BUgmlm48F92WUoqv97a49ZuEJJ50TCk9MVr3C7WMtQ0X6flVbufM4n8mjFLmbLVAPgaQ1Jydeaja94iAS49ljb+sUNLoukWedAQZKrlY4RdbOOzvcFqmD/ZepQFS9N5w15Exr4VwnVq+HIxTsDJwRviElWCdzKDebN/mk8/eX2n7qJi5G3Riq0tdQw9+C4diFZU5E97RSeahejOAAJTDqduqW6uLw9NsjJBkDRBlRjxjn5CaMMo5pYOxYbGrM8Un1JH5DMOLeXbq1xWbC17YSEoM1cRFfTgOoc+VpCe36Ai9Kc='
                            url='https://non-existent-example.execute-api.us-east-1.amazonaws.com/latest')
except Exception as e:
    sys.exit(e)

else:
    sys.exit('solved: ' + str(result))

Обход, распознавание и автоматическое решение Amazon AWS капчи на Ruby

client =  Api2Captcha.new("YOUR_API_KEY")

result = client.amazon_waf({
  sitekey: '0x1AAAAAAAAkg0s2VIOD34y5',
  iv: 'CgAHbCe2GgAAAAAj',
  context: '9BUgmlm48F92WUoqv97a49ZuEJJ50TCk9MVr3C7WMtQ0X6flVbufM4n8mjFLmbLVAPgaQ1Jydeaja94iAS49ljb+sUNLoukWedAQZKrlY4RdbOOzvcFqmD/ZepQFS9N5w15Exr4VwnVq+HIxTsDJwRviElWCdzKDebN/mk8/eX2n7qJi5G3Riq0tdQw9+C4diFZU5E97RSeahejOAAJTDqduqW6uLw9NsjJBkDRBlRjxjn5CaMMo5pYOxYbGrM8Un1JH5DMOLeXbq1xWbC17YSEoM1cRFfTgOoc+VpCe36Ai9Kc=',
  pageurl: 'https://non-existent-example.execute-api.us-east-1.amazonaws.com/latest',
  challenge_script: "https://41bcdd4fb3cb.610cd090.us-east-1.token.awswaf.com/41bcdd4fb3cb/0d21de737ccb/cd77baa6c832/challenge.js",
  captcha_script: "https://41bcdd4fb3cb.610cd090.us-east-1.captcha.awswaf.com/41bcdd4fb3cb/0d21de737ccb/cd77baa6c832/captcha.js"
})

Обход, распознавание и автоматическое решение Amazon AWS капчи на C#

using System.Linq;
using TwoCaptcha.Captcha;

namespace TwoCaptcha.Examples
{
    public class AmazonWafExample
    {
        public void Main()
        {
            TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY");
            AmazonWaf captcha = new AmazonWaf();
            captcha.SetSiteKey("AQIDAHjcYu/GjX+QlghicBgQ/7bFaQZ+m5FKCMDnO+vTbNg96AF5H1K/siwSLK7RfstKtN5bAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglg");
            captcha.SetUrl("https://non-existent-example.execute-api.us-east-1.amazonaws.com");
            captcha.SetContext("test_iv");
            captcha.SetIV("test_context");
            try
            {
                solver.Solve(captcha).Wait();
                Console.WriteLine("Captcha solved: " + captcha.Code);
            }
            catch (AggregateException e)
            {
                Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
            }
        }
    }
}

Обход, распознавание и автоматическое решение Amazon AWS капчи на Golang

import (
    "fmt"
    "log"
    "github.com/2captcha/2captcha-go"
)

func main() {
    client := api2captcha.NewClient("API_KEY")
    cap := api2captcha.AmazonWAF{
      Iv: "CgAHbCe2GgAAAAAj",
      SiteKey: "0x1AAAAAAAAkg0s2VIOD34y5",
      Url: "https://non-existent-example.execute-api.us-east-1.amazonaws.com/latest",
      Context: "9BUgmlm48F92WUoqv97a49ZuEJJ50TCk9MVr3C7WMtQ0X6flVbufM4n8mjFLmbLVAPgaQ1Jydeaja94iAS49ljb",
      ChallengeScript: "https://41bcdd4fb3cb.610cd090.us-east-1.token.awswaf.com/41bcdd4fb3cb/0d21de737ccb/cd77baa6c832/challenge.js"
      CaptchaScript: "https://41bcdd4fb3cb.610cd090.us-east-1.captcha.awswaf.com/41bcdd4fb3cb/0d21de737ccb/cd77baa6c832/captcha.js",
    }
    code, err := client.Solve(cap.ToRequest())
    if err != nil {
        log.Fatal(err);
    }
    fmt.Println("code "+code)
}

Цена

Автоматический обход капчи Amaozn AWS captcha с помощью ruCaptcha API — отличный способ автоматизировать процесс обхода.

Цена за 1000 решений 160 ₽.

Полезные материалы

Подробная информация об обходе капчи Amazon доступна в документации по API.

Дополнительная информация по работе с сервисом для заказчиков размещена в FAQ.

Примеры кода на разных языках программирования:

Примеры кода по работе с сервисом на официальной странице в GitHub.