Bypassare il WAF di Amazon con un proxy
Esistono due opzioni per l'utilizzo del captcha nelle pagine di destinazione:
1. Pagina di filtraggio dei bot che Amazon mostra automaticamente quando si visita un sito web dietro il suo firewall. La chiamiamo "gokuProps", perché nel codice sorgente di questa pagina si trovano i parametri window.gokuProps.
2. Widget captcha indipendente che viene attivato dall'azione dell'utente. Lo chiamiamo Widget.
Identificate voi stessi il tipo di captcha e utilizzate il commutatore sottostante per mostrare diverse versioni della documentazione e degli esempi.
Utilizzare questo tipo di attività per ottenere il token del cookie di Amazon WAF. È sufficiente prendere i token temporanei iv e context insieme alla chiave del sito permanente key e inviarli alla nostra API. Il risultato del task è un token che si può usare nella richiesta HTTP come valore del cookie con il nome amazon-waf-token.
Questo tipo di task richiede un proxy. Si prega di utilizzarlo solo se le attività senza proxy (AmazonTaskProxyless) falliscono, poiché rallenta i nostri lavoratori. Risolvere i captchas con i proxy richiede anche una qualità elevatissima dei proxy, che dovreste installare voi stessi sui vostri server VPS e non utilizzare mai servizi proxy acquistati.


Oggetto attività
Proprietà | Tipo | Richiesto | Scopo |
---|---|---|---|
type | Stringa | Sì | AmazonTask |
websiteURL | Stringa | Sì | Indirizzo di una pagina web target. Può trovarsi in qualsiasi punto del sito web, anche nell'area riservata. I nostri operatori non navigano in quest'area, ma simulano la visita. |
websiteKey | Stringa | Sì | Valore di key dall'oggetto window.gokuProps nel codice sorgente della pagina WAF. |
iv | Stringa | Sì | Valore di iv dall'oggetto window.gokuProps nel codice sorgente della pagina WAF. |
context | Stringa | Sì | Valore di context dall'oggetto window.gokuProps nel codice sorgente della pagina WAF. |
captchaScript | Stringa | No | URL opzionale che porta a captcha.js |
challengeScript | Stringa | No | URL opzionale che porta a challenge.js |
proxyType | Stringa | Sì | Tipo di proxy http - tipico proxy http/https socks4 - proxy socks4 socks5 - proxy socks5 |
proxyAddress | Stringa | Sì | Indirizzo IP proxy ipv4/ipv6. Nessun host name o indirizzo IP dalle reti locali. |
proxyPort | Intero | Sì | Porta proxy |
proxyLogin | Stringa | Sì | Login per proxy che richiede un'autorizzazione (base) |
proxyPassword | Stringa | Sì | Password proxy |
Richiedi esempio
#pip3 install anticaptchaofficial
from anticaptchaofficial.amazonproxyon import *
solver = amazonProxon()
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")
solver.set_proxy_address("PROXY_ADDRESS")
solver.set_proxy_port(1234)
solver.set_proxy_login("proxylogin")
solver.set_proxy_password("proxypassword")
# 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
Oggetto soluzione attività
Proprietà | Tipo | Scopo |
---|---|---|
token | Stringa | Utilizzare questo token come valore del cookie con il nome "aws-waf-token" nella richiesta alla pagina web di destinazione. |
Esempio di risposta
{
"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"
}