• Samuel Proulx@rblind.com
    link
    fedilink
    English
    arrow-up
    5
    ·
    23 days ago

    The tech blog is much better: https://www.zafran.io/resources/breaking-waf-technical-analysis

    It boils down to scanning all IPV4 space, and grabbing the SSL certificate returned by any webservers on port 443. If the server is incorrectly configured the fields in the SSL cert will tell you what domains it serves. And using Certificate Transparency logs to figure out what domains you want to target. I wouldn’t really call this a flaw that breaks anything. It’s just a byproduct of how SSL, IPV4, and WAFs work.

    • ShadowA
      link
      fedilink
      English
      arrow-up
      4
      ·
      23 days ago

      Ahh that makes more sense, especially if people aren’t using the cf origin certs. I’d expect SNI to prevent this on newer systems though, unless it’s the default cert on the ip.

      • Samuel Proulx@rblind.com
        link
        fedilink
        English
        arrow-up
        4
        ·
        23 days ago

        From the article:

        The TLS-SNI header is used by CDN servers to route requests based on the Server Name in the header. However, a typical front end server, or even a load balancer (LB), belongs to a single app or organization, and does not typically need to handle the SNI header. The easy and reasonable way to configure TLS certificates on such a server, is to either:
 Serve all requests with a single TLS certificate that has SANs (Subject Alternative Names) for all the domains that are used Have multiple certificates, chosen according to SNI, with one of them as the default. In both of these common cases, sending a HTTPS request directly to the IP of a front end server, without any SNI, will present us with a default server certificate. This certificate will reveal what domains are being served by this server.

        So apparently the real issue is that people aren’t using SNI correctly.