Ominięcie Amazon WAF
Istnieją 2 opcje, w jaki sposób captcha jest używana na stronach docelowych:
1. Strona filtrująca boty, którą Amazon wyświetla automatycznie, gdy odwiedzasz witrynę za ich zaporą ogniową. Nazywamy ją "gokuProps", ponieważ w kodzie źródłowym tej strony można znaleźć parametry window.gokuProps.
2. Samodzielny widget captcha, który jest uruchamiany przez akcję użytkownika. Nazywamy go Widget.
Samodzielnie określ typ captcha i użyj przełącznika poniżej, aby wyświetlić różne wersje dokumentacji i przykładów.
Zadania tego typu pozwalają uzyskać token cookie Amazon WAF. Wystarczy pobrać tymczasowe tokeny iv i context wraz ze stałym kluczem witryny key i wysłać je do naszego API. Wynikiem zadania jest token, który można wykorzystać w żądaniu HTTP jako wartość pliku cookie o nazwie amazon-waf-token.
Najpierw należy przetestować ten typ zadania pod kątem współczynnika udanych obejść zanim zaczniesz testować zadania z proxy.


Obiekt typu zadanie
Właściwość/atrybut | Typ | Wymagany | Przeznaczenie |
---|---|---|---|
type | Łańcuch znaków (String) | Tak | AmazonTaskProxyless |
websiteURL | Łańcuch znaków (String) | Tak | Adres docelowej strony. Może znajdować się w dowolnym miejscu witryny, włącznie ze strefami dla zalogowanych. Nasi pracownicy nie muszą tam wchodzić, gdyż wizyta jest symulowana. |
websiteKey | Łańcuch znaków (String) | Tak | Wartość key z obiektu window.gokuProps w kodzie źródłowym strony WAF. |
iv | Łańcuch znaków (String) | Tak | Wartość iv z obiektu window.gokuProps w kodzie źródłowym strony WAF. |
context | Łańcuch znaków (String) | Tak | Wartość context z obiektu window.gokuProps w kodzie źródłowym strony WAF. |
captchaScript | Łańcuch znaków (String) | Nie | Opcjonalny adres URL prowadzący do captcha.js |
challengeScript | Łańcuch znaków (String) | Nie | Opcjonalny adres URL prowadzący do challenge.js |
Przykład żądania
#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
else:
print "task finished with error "+solver.error_code
Obiekt typu rozwiązanie zadania
Właściwość/atrybut | Typ | Przeznaczenie |
---|---|---|
token | Łańcuch znaków (String) | Użyj tego tokena jako wartości pliku cookie o nazwie "aws-waf-token" w żądaniu do docelowej strony internetowej. |
Przykład odpowiedzi
{
"errorId":0,
"status":"ready",
"solution": {
"token": "fe4c2ff3-6ed6-40fa-95c9-4c738a7dad49:FgoAe0ZLBmYBAAAA:LK0S/m1nGbfjDk/9i6tMmiUWGecMfyjvuAx9lY6ZhaBUmjrILEqW00UAsEliykPjwebdzn9J3..."
},
"cost":"0.002000",
"ip":"46.98.54.221",
"createTime":1472205564,
"endTime":1472205570,
"solveCount":"0"
}