如何绕过内联网子域上的 HSTS?

如何绕过内联网子域上的 HSTS?

因此,我可以控制一个小型网络服务器,该服务器控制内部网域的子域;该域已启用 HSTS,因此我无法通过 HTTP 连接到我的子域;我也无法使用自签名证书和 HTTPS。我曾考虑过使用 Let's Encrypt 来获取适当的证书,但由于该域无法从互联网访问,我也无法这样做。

有没有办法绕过 HSTS 通过浏览器连接到我的服务器?(如果这很重要的话,我正在尝试设置一个 Jupyter 实例)

答案1

实际上,这是 HSTS 规范中的地址,RFC 6797(重点是我的):

11.3. 将 HSTS 与自签名公钥证书结合使用

如果以下四个条件全部成立...

oa 网站/组织/企业正在为网站生成自己的安全传输公钥证书,并且

[...]

...那么根据 HSTS 设计,与该网站的安全连接将失败。这是为了防止各种主动攻击,如上所述。

[...]

但是,如果该组织希望使用自己的 CA 和自签名证书,并配合 HSTS,则可以通过以下方式实现: 将其根 CA 证书部署到用户的浏览器或操作系统 CA 根证书存储区.此外,它还可以向其用户的浏览器分发特定主机的终端实体证书

因此,您需要执行以下操作之一:

  • 使用 CA 证书(也是您生成的)签署您自己生成的证书,然后将 CA 证书安装到浏览器中(或者如果浏览器使用 OS 存储,则安装到 OS 存储中)
  • 将自签名证书安装到浏览器或操作系统商店中

如何安装证书取决于浏览器;这里有多个关于如何执行此操作的答案。

实际上,即使没有 HSTS,您也应该这样做,因为它可以避免常见的证书警告。但是,有了 HSTS,这实际上是唯一的方法。

相关内容