是否可以在现代浏览器中将 https 重定向到 http?

信息安全 tls http 代理人
2021-09-09 21:01:25

如果我是一个邪恶的代理操作者,想要修改响应内容,但不关心受害者是否看到 http://?如果浏览器请求https://example.com,但 example.com从来没有有效的 SSL 证书会发生什么?浏览器会自动重定向到 http:// 版本吗?如果是这样,那么邪恶的代理操作员应该能够模拟该响应,对吗?

1个回答

如果浏览器请求https://example.com,但 example.com 从来没有有效的 SSL 证书会发生什么?浏览器会自动重定向到 http:// 版本吗?

不,现代浏览器不会自动降级到纯 HTTP。如果证书无效,用户只会看到证书警告(最终会看到添加例外的选项)。

如果是这样,那么邪恶的代理操作员应该能够模拟该响应,对吗?

如果浏览器在看到无效证书时确实重定向到纯 HTTP,则 MITM 可以通过修改传输的证书详细信息来静默降级任何新的安全连接。那将是一个重大的安全问题。这就是为什么只要您从一开始就使用 HTTPS,MITM 就无法将您重定向到任何地方。

相反,攻击者可以做的是在连接升级到 HTTPS之前尝试拦截纯 HTTP 响应。例如,如果您输入mybank.com,您的浏览器不知道该站点是否还提供 HTTPS 并http://mybank.com首先尝试。即使此 HTTP 站点立即响应重定向到https://mybank.com,MITM 也可能已经拦截响应并删除重定向以使您保持在纯 HTTP 上。HTTP 严格传输安全 (HSTS)功能通过指示您的浏览器始终通过 HTTPS 访问该站点并拒绝所有使用纯 HTTP 的尝试来防止这种精确的攻击。)