簡體   English   中英

缺少__RequestVerificationToken以使用外部求解器繞過Google驗證碼

[英]Missing __RequestVerificationToken to bypass google captcha with external solver

我正在嘗試抓取一些需要解決驗證碼登錄問題的網站,我發現這樣做的最好方法是使用外部服務,例如https://anti-captcha.com/ ,解決驗證碼的其他站點,並發回哈希值以驗證結果。

與文檔中一樣,該過程是:

  1. 我發送網站網址和sitekey

在此處輸入圖片說明

  1. 他們將任務分配給某個工作人員,一兩分鍾后,我取回哈希值以登錄

問題是我需要發出的實際請求除了該值之外還需要另外兩個值:

* __RequestVerificationToken: This one appears on the login page: 

在此處輸入圖片說明

但是通過登錄請求發送的值有所不同,因此中間缺少一些工作

* RecaptchaToken: There is no trace of this value in the login site, I'm suspecting it may be generated in the back end as an additional verification step, but I have not found any information about it.

我對此過程的最后一個擔心是,反驗證碼服務似乎正在解決一些通用的驗證碼,與我所看到的不一樣,雖然不確定這是否是實際問題。

我相信您正在談論reCAPTCHA v2,它要求用戶選擇其中包含某些對象的某些圖像。

這個怎么運作:

在用戶解決了Recaptcha圖像難題后,根據文檔 ,他單擊“驗證”,這會將發帖請求發送到google api,並發送到以下網址: https : //www.google.com/recaptcha/api/site與用戶驗證對謎題的響應-編碼的ofc-並獲得一個響應,稱為“ g-recaptcha-response”,用​​於識別用戶對謎題的響應/解決方案是否正確。

因此,主要是標准的recaptcha v2,僅需要1個令牌即可驗證用戶響應,但這不是您在此處面臨的情況, 您所面臨的是一個自定義實現 ,該實現的目的是尤其要使不需要的參與者更難抓取或爬網這些網站。

他們開發了2個額外的令牌 ,這些令牌是唯一生成的,並注入到顯示驗證碼難題的頁面中,並且通過發送這些額外的令牌,他們確保“ g-recaptcha-response”來自用戶已經在同一頁面上在他的瀏覽器中加載。

您需要在要訪問的同一頁面中注入此api的g-recaptcha-response,以為您解決recaptcha,然后模擬與該頁面的完整用戶交互。

我建議您使用selenium ,它將幫助您自動執行所有用戶操作,並將所需的一切注入到頁面DOM中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM