Join And Get Free Trial!

reCAPTCHA 解決タスクの適切なパラメータを見つける方法#

logoNextCaptcha
April 22,2024

reCAPTCHA を解決およびバイパスするソルバー サービス#

recaptcha v2、recaptcha v2 invisible、recaptcha v2 Enterprise、recaptcha v3、またはrecaptcha v3 Enterpriseキャプチャ解決タスクを構築するには、いくつかの重要なパラメータがあります。
  • params of recaptcha v2 / recaptcha v2 invisible solve task
    a. websiteURL
    b. websiteKey
    c. recaptchaDataSValue
    d. isInvisible

  • params of recaptcha v2 Enterprise solve task
    a. websiteURL
    b. websiteKey
    c. pageAction
    d. enterprisePayload
    e. isInvisible

  • params of recaptcha v3 / recaptcha v3 Enterprise solve task
    a. websiteURL
    b. websiteKey
    c. pageAction


対象ウェブサイトで関連パラメータを見つけるにはどうすればいいですか?
次に、recaptcha v2、recaptcha v2 invisible、recaptcha v2 Enterprise、recaptcha v3、またはrecaptcha v3 Enterpriseのタスク解決の関連パラメータを見つける方法をいくつか紹介します。
  • エンタープライズ版と通常版の区別方法
    a. ブラウザコンソールを開き、`www.google.com/recaptcha`リクエストが`anchor`で終わるものを見つけます。
    b. URLにEnterpriseが含まれているか確認する
    c. これはエンタープライズまたはレギュラーのRecaptchaタイプです

  • `websiteKey` を見つける方法
    a. ブラウザコンソールを開き、`www.google.com/recaptcha`リクエストが`anchor`で終わるものを見つけます。
    b. `k`のペイロードはターゲットのウェブサイトキーです

  • `recaptchaDataSValue` を見つける方法
    a. ブラウザコンソールを開き、`www.google.com/recaptcha`リクエストが`anchor`で終わるものを見つけます。
    b. `s` のペイロードは、ターゲットの recaptcha ウェブサイト `recaptchaDataSValue` です。

  • 「目に見えないもの」を見つける方法
    a. ブラウザコンソールを開き、`www.google.com/recaptcha`リクエストが`anchor`で終わるものを見つけます。
    b. `size` のペイロードは、対象の ReCAPTCHA ウェブサイトの `isInvisible` 値です。

  • recaptcha `pageAction` を見つける方法
    a. `getMessageFallback` called for how-to-find-the-params-of-recaptcha-solve-task.list5-
    b. `___grecaptcha_cfg.clients` で見つけてください


次に、recaptcha v2、recaptcha v2 invisible、recaptcha v2 Enterprise、recaptcha v3、またはrecaptcha v3 Enterpriseのタスク解決の関連パラメータを見つける方法をいくつか紹介します。
function getRecaptchaWidgetInfo(widget) {
  let info = {
    captchaType: "recaptcha",
    widgetId: widget.id,
    version: "v2",
    sitekey: null,
    action: null,
    s: null,
    callback: null,
    enterprise: window?.grecaptcha?.enterprise ? true : false,
    containerId: null,
    bindedButtonId: null,
  };

  /*
   * Check if is badge
   */
  let isBadge = false;

  mainLoop: for (let k1 in widget) {
    if (typeof widget[k1] !== "object") continue;

    for (let k2 in widget[k1]) {
      if (widget[k1][k2] && widget[k1][k2].classList && widget[k1][k2].classList.contains("grecaptcha-badge")) {
        isBadge = true;
        break mainLoop;
      }
    }
  }


  /*
   * 1. Look for version
   */
  if (isBadge) {
    info.version = "v3";

    for (let k1 in widget) {
      let obj = widget[k1];

      if (typeof obj !== "object") continue;

      for (let k2 in obj) {
        if (typeof obj[k2] !== "string") continue;
        if (obj[k2] == "fullscreen") info.version = "v2_invisible";
      }
    }
  }

  /*
   * 2. Look for containerId
   */
  let n1;
  for (let k in widget) {
    if (widget[k] && widget[k].nodeType) {
      if (widget[k].id) {
        info.containerId = widget[k].id;
      } else if (widget[k].dataset.sitekey) {
        widget[k].id = "recaptcha-container-" + Date.now();
        info.containerId = widget[k].id;
      } else if (info.version == 'v2') {
        if (!n1) {
          n1 = widget[k];
          continue;
        }

        if (widget[k].isSameNode(n1)) {
          widget[k].id = "recaptcha-container-" + Date.now();
          info.containerId = widget[k].id;
          break;
        }
      }
    }
  }

  /*
   * 3. Look for sitekey, action, s and callback
   */
  for (let k1 in widget) {
    let obj = widget[k1];

    if (typeof obj !== "object") continue;

    for (let k2 in obj) {
      if (obj[k2] === null) continue;
      if (typeof obj[k2] !== "object") continue;
      if (obj[k2].sitekey === undefined) continue;
      if (obj[k2].action === undefined) continue;

      for (let k3 in obj[k2]) {
        if (k3 === "sitekey") info.sitekey = obj[k2][k3];
        if (k3 === "action") info.action = obj[k2][k3];
        if (k3 === "s") info.s = obj[k2][k3];
        if (k3 === "callback") info.callback = obj[k2][k3];
        if (k3 === "bind" && obj[k2][k3]) {
          if (typeof obj[k2][k3] === "string") {
            info.bindedButtonId = obj[k2][k3];
          } else {
            let button = obj[k2][k3];
            if (button.id === undefined) {
              button.id = "recaptchaBindedElement" + widget.id;
            }
            info.bindedButtonId = button.id;
          }
        }
      }
    }
  }

  /*
   * 4. Prepare callback
   */
  if (typeof info.callback === "function") {
    let callbackKey = "reCaptchaWidgetCallback" + widget.id;
    window[callbackKey] = info.callback;
    info.callback = callbackKey;
  }

  return info;
}

ブラウザコンソールを開き、このコードを貼り付けてEnterキーを押し、`getRecaptchaWidgetInfo(___grecaptcha_cfg.clients[0])`と入力します。

結論#

reCAPTCHA チャレンジを解決するには、これらのパラメータに注意する必要があります。これらのパラメータは、CAPTCHA ソルバーが正しく機能するために不可欠です。