Menu

Lewati Amazon WAF

Ada 2 opsi bagaimana captcha ini digunakan di halaman tujuan:

1. Halaman penyaringan bot yang ditampilkan Amazon secara otomatis saat Anda mengunjungi situs web di balik firewall mereka. Kami menyebutnya "gokuProps", karena Anda dapat menemukan parameter window.gokuProps di kode sumber halaman ini.

2. Widget captcha mandiri yang dipicu oleh tindakan pengguna. Kami menyebutnya Widget.

Identifikasi jenis captcha Anda sendiri dan gunakan pengalih di bawah ini untuk menampilkan versi dokumentasi dan contoh yang berbeda.

gokuProps
Widget

Gunakan jenis tugas ini untuk mendapatkan token cookie Amazon WAF. Cukup ambil token iv dan context sementara bersama dengan kunci situs key permanen, kirimkan ke API kami. Hasil dari tugas ini adalah token yang dapat Anda gunakan dalam permintaan HTTP Anda sebagai nilai cookie dengan nama amazon-waf-token.

Uji jenis tugas ini terlebih dahulu untuk mengetahui laju bypass sebelum menguji tugas dengan proxy.

Amazon WAF captcha example Amazon WAF widget captcha example
Contoh Captcha
gokuProps
Widget
Python
Node.js
Go
PHP
Java
C#
bash

Cara menyelesaikan Amazon WAF gokuProps di Python

#pip3 install anticaptchaofficial

from anticaptchaofficial.amazonproxyless import *

solver = amazonProxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY")
solver.set_website_url("https://website.com")
solver.set_website_key("key_value_from_window.gokuProps_object")
solver.set_iv("iv_value_from_window.gokuProps_object")
solver.set_context("context_value_from_window.gokuProps_object")

# Optional script URLs
solver.set_captcha_script("https://e9b10f157f38.9a96e8b4.us-gov-west-1.captcha.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/captcha.js")
solver.set_challenge_script("https://e9b10f157f38.9a96e8b4.us-gov-west-1.token.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/challenge.js")

# Specify softId to earn 10% commission with your app.
# Get your softId here: https://anti-captcha.com/clients/tools/devcenter
solver.set_soft_id(0)

token = solver.solve_and_return_solution()
if token != 0:
    print("token: "+token)
    # user-agent in case you need it:
    print("user-agent: "+solver.get_user_agent())
else:
    print("task finished with error "+solver.error_code)

Cara menyelesaikan Amazon WAF gokuProps di Node.js

//npm install @antiadmin/anticaptchaofficial
//https://github.com/anti-captcha/anticaptcha-npm

const ac = require("@antiadmin/anticaptchaofficial");

ac.setAPIKey('YOUR_API_KEY_HERE');

//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
ac.setSoftId(0);

ac.solveAmazonProxyless('http://DOMAIN.COM',
    'key_value_from_window.gokuProps_object',
    'iv_value_from_window.gokuProps_object',
    'context_value_from_window.gokuProps_object',
    'https://e9b10f157f38.9a96e8b4.us-gov-west-1.captcha.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/captcha.js', //optional
    'https://e9b10f157f38.9a96e8b4.us-gov-west-1.token.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/challenge.js'  //optional
).then(token => {
    console.log('token: '+token);
})
.catch(error => console.log('test received error '+error));

// in case you need it
console.log("worker's user-agent:");
console.log(ac.getUserAgent());

Cara menyelesaikan Amazon WAF gokuProps di Go

// Install with:
// go get github.com/anti-captcha/anticaptcha-go
package main

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

func main() {
    // Create API client and set the API Key
    ac := anticaptcha.NewClient("API_KEY_HERE")

    // set to 'false' to turn off debug output
    ac.IsVerbose = true

    // Specify softId to earn 10% commission with your app.
    // Get your softId here: https://anti-captcha.com/clients/tools/devcenter
    //ac.SoftId = 1187

    // Make sure the API key funds balance is positive
    balance, err := ac.GetBalance()
    if err != nil {
        log.Fatal(err)
        // Exit program to make sure you don't DDoS API with requests, while having empty balance
        return
    }
    fmt.Println("Balance:", balance)

    // Get Amazon WAF token without proxy
    solution, err := ac.SolveAmazon(anticaptcha.AmazonCaptcha{
        WebsiteURL: "https://www.website.com/",
        WebsiteKey: "key_value_from_window.gokuProps_object",
        Iv: "iv_value_from_window.gokuProps_object",
        Context: "context_value_from_window.gokuProps_object",
        //optional scripts:
        //CaptchaScript: "https://e9b10f157f38.9a96e8b4.us-gov-west-1.captcha.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/captcha.js",
        //ChallengeScript: "https://e9b10f157f38.9a96e8b4.us-gov-west-1.token.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/challenge.js",
    })
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println("amazon-waf-token:", solution)
    // In case you need the worker's user-agent
    fmt.Println("User-Agent:", ac.WorkersUserAgent)
}

Cara menyelesaikan Amazon WAF gokuProps di PHP

//git clone https://github.com/anti-captcha/anticaptcha-php.git

include("anticaptcha.php");
include("amazonroxyless.php");

$api = new AmazonProxyless();
$api->setVerboseMode(true);

//your anti-captchano.com account key
$api->setKey("YOUR_API_KEY_HERE");

//target website address
$api->setWebsiteURL("http://website.com/");

//key value from window.gokuProps object (see html source)
$api->setWebsiteKey("key_value_from_window.gokuProps_object");

//iv and context values from window.gokuProps object (see html source)
$api->setIv("iv_value_from_window.gokuProps_object")
$api->setContext("context_value_from_window.gokuProps_object");

//optional scripts
$api->setCaptchaScript("https://e9b10f157f38.9a96e8b4.us-gov-west-1.captcha.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/captcha.js");
$api->setChallengeScript("https://e9b10f157f38.9a96e8b4.us-gov-west-1.token.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/challenge.js");

//Specify softId to earn 10% commission with your app.
//Get your softId here: https://anti-captcha.com/clients/tools/devcenter
$api->setSoftId(0);

//create task in API
if (!$api->createTask()) {
    $api->debout("API v2 send failed - ".$api->getErrorMessage(), "red");
    return false;
}

$taskId = $api->getTaskId();

//wait in a loop for max 300 seconds till task is solved
if (!$api->waitForResult(300)) {
    echo "could not solve captcha\n";
    echo $api->getErrorMessage()."\n";
} else {

    $token = $api->getTaskSolution();
    echo "\n";
    echo "your aws-waf-token: $token\n\n";
    echo "worker's user-agent in case you need it:\n";
    echo $api->getWorkersUserAgent()."\n";

}

Cara menyelesaikan Amazon WAF gokuProps di Java

//git clone https://github.com/anti-captcha/anticaptcha-java.git

package com.anti_captcha;

import com.anti_captcha.Api.AmazonProxyless;
import com.anti_captcha.Helper.DebugHelper;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.concurrent.ThreadLocalRandom;

public class Main {

    public static void main(String[] args) throws InterruptedException, MalformedURLException, JSONException {

        DebugHelper.setVerboseMode(true);

        AmazonProxyless api = new AmazonProxyless();
        api.setClientKey("YOUR_API_KEY_HERE");
        api.setWebsiteUrl(new URL("http://website.com/"));
        api.setWebsiteKey("key_value_from_window.gokuProps_object");
        api.setIv("iv_value_from_window.gokuProps_objec");
        api.setContext("context_value_from_window.gokuProps_object");

        //Optional scripts
        api.setCaptchaScript("https://e9b10f157f38.9a96e8b4.us-gov-west-1.captcha.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/captcha.js");
        api.setChallengeScript("https://e9b10f157f38.9a96e8b4.us-gov-west-1.token.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/challenge.js");

        //Specify softId to earn 10% commission with your app.
        //Get your softId here: https://anti-captcha.com/clients/tools/devcenter
        api.setSoftId(0);

        if (!api.createTask()) {
            DebugHelper.out(
                    "API v2 send failed. " + api.getErrorMessage(),
                    DebugHelper.Type.ERROR
            );
        } else if (!api.waitForResult()) {
            DebugHelper.out("Could not solve the captcha.", DebugHelper.Type.ERROR);
        } else {
            DebugHelper.out("Result: " + api.getTaskSolution().getToken(), DebugHelper.Type.SUCCESS);
        }
    }
}

Cara menyelesaikan Amazon WAF gokuProps di C#

//git clone git@github.com:AdminAnticaptcha/anticaptcha-csharp.git

using System;
using Anticaptcha_example.Api;
using Anticaptcha_example.Helper;
using Newtonsoft.Json.Linq;

namespace Anticaptcha_example
{
    internal class Program
    {
        private static void Main() {

            DebugHelper.VerboseMode = true;

            var api = new AmazonProxyless
            {
                ClientKey = "YOUR_API_KEY_HERE",
                WebsiteUrl = new Uri("http://website.com/"),
                WebsiteKey = "key_value_from_window.gokuProps_object",
                Iv = "iv_value_from_window.gokuProps_object",
                Context = "context_value_from_window.gokuProps_object",

                // Optional scripts
                CaptchaScript = "https://e9b10f157f38.9a96e8b4.us-gov-west-1.captcha.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/captcha.js",
                ChallengeScript = "https://e9b10f157f38.9a96e8b4.us-gov-west-1.token.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/challenge.js",

                // Specify softId to earn 10% commission with your app.
                // Get your softId here:
                // https://anti-captcha.com/clients/tools/devcenter
                SoftId = 0
            };

            if (!api.CreateTask())
                DebugHelper.Out("API v2 send failed. " + api.ErrorMessage, DebugHelper.Type.Error);
            else if (!api.WaitForResult())
                DebugHelper.Out("Could not solve the captcha.", DebugHelper.Type.Error);
            else
                DebugHelper.Out("Result: " + api.GetTaskSolution().token, DebugHelper.Type.Success);

        }
    }
}

Cara menyelesaikan Amazon WAF gokuProps di bash

curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY_HERE",
    "task":
        {
            "type":"AmazonTaskProxyless",
            "websiteURL":"https://website.com/",
            "websiteKey":"key_value_from_window.gokuProps_object",
            "iv":"iv_value_from_window.gokuProps_object",
            "context":"context_value_from_window.gokuProps_object",
            "captchaScript": "https://e9b10f157f38.9a96e8b4.us-gov-west-1.captcha.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/captcha.js",
            "challengeScript": "https://e9b10f157f38.9a96e8b4.us-gov-west-1.token.awswaf.com/e9b10f157f38/76cbcde1c834/2a564e323e7b/challenge.js"
        },
    "softId": 0
}' https://api.anti-captcha.com/createTask
gokuProps
Widget

Objek tugas

Properti Jenis Wajib Tujuan
type String Ya AmazonTaskProxyless
websiteURL String Ya Alamat halaman web target. Dapat terletak di mana pun di situs web, bahkan di area anggota. Pekerja kami tidak mengarah ke sana, namun mereka melakukan simulasi kunjungan.
websiteKey String Ya Nilai key dari objek window.gokuProps dalam kode sumber halaman WAF.
iv String Ya Nilai iv dari objek window.gokuProps dalam kode sumber halaman WAF.
context String Ya Nilai context dari objek window.gokuProps dalam kode sumber halaman WAF.
captchaScript String Tidak URL opsional yang mengarah ke captcha.js
challengeScript String Tidak URL opsional yang mengarah ke challenge.js

Objek solusi tugas

Properti Jenis Tujuan
token String Gunakan token ini sebagai nilai cookie dengan nama "aws-waf-token" dalam permintaan Anda ke halaman web target.
userAgent String User-Agent dari peramban pekerja. Gunakan ketika Anda mengirimkan token respons.

Contoh respons

{
    "errorId":0,
    "status":"ready",
    "solution": {
      "token": "fe4c2ff3-6ed6-40fa-95c9-4c738a7dad49:FgoAe0ZLBmYBAAAA:LK0S/m1nGbfjDk/9i6tMmiUWGecMfyjvuAx9lY6ZhaBUmjrILEqW00UAsEliykPjwebdzn9J3...",
      "userAgent":"Mozilla\5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"
    },
    "cost":"0.002000",
    "ip":"46.98.54.221",
    "createTime":1472205564,
    "endTime":1472205570,
    "solveCount":"0"
}