【问题标题】:Is there any possible ways to bypass cloudflare security checks?有没有可能绕过 cloudflare 安全检查的方法?
【发布时间】:2018-10-24 00:38:58
【问题描述】:

我们都知道,有时 cloudflare 喜欢检查他们的客户访问者,以确保访问者不是真人。安全检查要求我们通过 Google Recaptcha。我想问的是是否可以使用我们自己的服务器传递它(即使使用远程服务器并自己回答验证码等)以及如何传递?

【问题讨论】:

  • 如果安全检查很容易以编程方式绕过,那么犯罪分子等似乎不会选择使用相同的技术吗?
  • 不仅通过编程方式,还通过真人控制服务器。

标签: security server recaptcha captcha cloudflare


【解决方案1】:

当您访问受 cloudflare 保护的站点时,它会包含您无法绕过的安全检查,如果失败,您的访问最终会被拒绝,您将被重定向到 captcha 挑战页面由于来自低信誉 IP 地址的请求。

IP 信誉是根据Project Honeypot、外部公共 IP 信息以及来自Web Application FirewallDDoS 的内部威胁情报计算的。


解决方案

在这些情况下,潜在的解决方案是使用undetected-chromedriver 来初始化Chrome 浏览上下文

undetected-chromedriver 是一个优化的 Selenium Chromedriver 补丁,它不会触发像 Distill Network / Imperva / DataDome / Botprotect.io 这样的反僵尸服务。它会自动下载驱动程序二进制文件并对其进行修补。

  • Python 示例代码:

    import undetected_chromedriver as uc
    from selenium import webdriver
    
    options = webdriver.ChromeOptions() 
    options.add_argument("start-maximized")
    driver = uc.Chrome(options=options)
    driver.get('https://bet365.com')
    

另类

另一种解决方案是使用以下步骤通过Project Honey Pot 网站将您的 IP 地址列入白名单:

  • 您必须编辑Page Rule,只要请求与您定义的以下两个基本原则之一的 URL 模式匹配,就会触发某些操作:
    • 只有最高优先级的匹配页面规则对请求生效。
    • 页面规则在 Cloudflare 仪表板中按降序排列,最高优先级的规则位于顶部。
  • 在防火墙应用程序的“设置”选项卡中或通过 Page Rule 禁用 Under Attack mode(advanced DDOS protection),安全级别会显示 JS 挑战页面。

tl;博士

您可以在标题为Attention Required one more step captcha CloudFlare Error的视频中找到详细的端到端流程。

【讨论】:

    【解决方案2】:

    当然可以通过多种方式实现。其中之一是使用解析 javascript 的“真实模拟浏览器”。

    另一种方法是 - 如果您在无头服务器上运行它 - 使用无头浏览器为您执行此操作。在第一次请求之后,您可以存储 cookie 并在 jsoup (java) 等基本 http 客户端中重用它。

    使用 JBrowserDriver(无头)和 java 的示例:

    JBrowserDriver jBrowserDriver = null;
    
    public JBrowserDriver getDriver(Boolean headless) {
            if (jBrowserDriver == null) {
    
                log.info("JBrowser was null, initalizing");
    
                jBrowserDriver = new JBrowserDriver(Settings.builder()
                        .timezone(Timezone.EUROPE_BERLIN)
                        .ssl("compatible")
                        .cache(true)
                        .javascript(true)
                        .headless(headless)
                        .userAgent(UserAgent.CHROME)
                        .logTrace(true)
                        .loggerLevel(Level.ALL)
                        .build());
    
            }
            return jBrowserDriver;
    }
    
    
    private void testFunction() {
     // .. 
        jDriver.get("https://cloudflare.site");
        driverCookies = jDriver.manage().getCookies();
        
        HashMap<String, String> cookieMap = new HashMap<>();
    
        driverCookies.forEach(cookie -> cookieMap.put(cookie.getName(), cookie.getValue()));
    
        Document document = Jsoup.connect(requestPage).cookies(cookieMap).get();
    
    }
    

    我不对绕过云耀斑造成的任何损害负责,但只要人类可以绕过它,模拟客户端始终可以做到这一点。

    编辑:如果后面还有一个recaptcha,可能很难绕过它。但通常如果你没有登录谷歌帐户,或者服务器认为你是机器人,就会发生这种情况。只需重复使用由 google auth 生成的 cookie,并确保您始终重复使用和发送相同的 cookie。

    Cloudflare 还会检查 - 不确定 - 如果您的客户正在请求 css 和 javascripts 等资产。

    您可能还需要使用假客户端请求它们。

    【讨论】:

      【解决方案3】:

      对你自己来说,是的,你可以。

      您可以为您的 IP 地址创建一个custom rule 并将安全级别设置为基本上关闭

      Security Level 控制是否向特定访问者提出挑战。

      通过禁用 IP 地址的安全级别,您可以在自己的网站上有效地绕过此保护。

      【讨论】:

      • 这对别人的网站没有帮助......
      • 该问题专门问如何为自己的服务器绕过它。
      猜你喜欢
      • 1970-01-01
      • 2021-10-15
      • 2021-07-25
      • 1970-01-01
      • 2016-05-18
      • 1970-01-01
      • 2016-11-19
      • 2014-01-22
      相关资源
      最近更新 更多