Загрузка...

Cloudflare Turnstale Capchi bypass in iframe

Thread in Node.js created by N3V3RB0RN Apr 24, 2025. 417 views

  1. N3V3RB0RN
  2. Палки
    Палки Apr 24, 2025 make testers great again!
    тебе нужно жс заинжектить в iframe до его загрузки?
    JavaScript

    document.querySelector('iframe').window.turnstile = xxx
     
    1. View previous comments (9)
    2. N3V3RB0RN Topic starter
      Палки, Инжектим этот код

      Code
      console.log("Turnstile script loaded.");
      const i = setInterval(() => {
      if (window.turnstile) {
      clearInterval(i);

      // Store the original render method
      const originalRender = window.turnstile.render;

      // Override the render method
      window.turnstile.render = (a, b) => {
      let p = {
      type: "TurnstileTaskProxyless",
      websiteKey: b.sitekey,
      websiteURL: window.location.href,
      data: b.cData,
      pagedata: b.chlPageData,
      action: b.action,
      userAgent: navigator.userAgent,
      };
      console.log("params:")
      console.log(JSON.stringify(p));

      // Call the original render function with provided arguments
      const result = originalRender.call(window.turnstile, a, b);

      // Save the callback
      window.tsCallback = b.callback;

      // Return the result of the original render method
      return result
      };
      }
      }, 1);
      Таким образом

      Code
      driver.get(link)
      iframe = WebDriverWait(driver, 10).until(
      EC.presence_of_element_located((By.TAG_NAME, "iframe"))
      )
      driver.switch_to.frame(iframe)
      with open("i.js", "r", encoding="utf-8") as f:
      inject_js_content = f.read()
      print(inject_js_content)
      driver.execute_script(inject_js_content)
      Он ижектится, потому что в консолии видно строчку console.log("Turnstile script loaded."); всё будто бы нормально, но затем внутри этого не происходит
      Code
      window.turnstile.render = (a, b) => {
      Когда капча не на iframe, а на обычной странице на любом другом сайте с этой капчей, всё нормально, проблема только когда есть iframe.
    3. Палки
      N3V3RB0RN, потому что вместо window нужно писать document.querySelector('iframe').window, чтобы не к текущей странице подключаться (где нет капчи), а к <iframe>
Loading...
Top