大多数浏览器会阻止在 HTTPS 页面上通过 HTTP 加载的“活动”内容。这包括诸如 javascript 之类的东西,可以使用 MITM 进行修改并危及整个页面的安全性。
但是,默认情况下不会阻止“被动”内容(即图像)。我在这里讨论了 Firefox 的功能请求 ,我突然想到,当涉及到混合被动内容时,我不太确定安全性。
在 HTTPS 页面上通过 HTTP 提供被动内容时存在哪些安全问题?
大多数浏览器会阻止在 HTTPS 页面上通过 HTTP 加载的“活动”内容。这包括诸如 javascript 之类的东西,可以使用 MITM 进行修改并危及整个页面的安全性。
但是,默认情况下不会阻止“被动”内容(即图像)。我在这里讨论了 Firefox 的功能请求 ,我突然想到,当涉及到混合被动内容时,我不太确定安全性。
在 HTTPS 页面上通过 HTTP 提供被动内容时存在哪些安全问题?
混合被动内容,有时称为混合显示内容,例如提供图像、音频、视频文件或任何其他无法更改 DOM 的内容 - 因此在名称中使用“被动”,正如您自己提到的那样 - 通过未加密的 HTTP 和通过加密 HTTPS 的请求文档很容易受到攻击,这些攻击可能会用不适当或误导性的信息替换这些 HTTP 提供的内容。例如,在此考虑误导用户相信他应该执行某些操作,或者被中间人 (MiTM) 替换的内容误导。这里的不同之处在于,攻击者无法影响页面的其余部分,而只能影响通过非加密 HTTP 协议加载的内容。
此外,攻击者可以通过提供给用户的 HTTP 加载内容推断有关用户浏览活动的信息来跟踪用户。这些内容可能仅限于显示在特定页面上,并且对它们的请求可以告诉攻击者用户正在访问哪个页面。
攻击者可以拦截通过不安全协议发送的 HTTP 标头信息,将请求重定向到另一台服务器,或更改 HTTP 响应中的信息(当然,包括标头,也包括 cookie)。请求信息包括与提供 HTTP 服务内容的域相关联的用户代理字符串和 cookie。攻击者可以随意更改这些信息中的任何一个,以便于更轻松地跟踪用户活动,或者用虚假信息误导用户。
如果这些内容与请求它们的主页面来自同一个域,那么假设用户通过打开 HTTPS 页面获得的保护可能变得更加无用,因为攻击者可以读取用户的未附加;secure标签的 cookie链接的 HTTP 内容的请求标头,指示用户代理(浏览器)仅在使用加密/安全 HTTPS 通道进行附加的链接内容请求时包含此类标记的 cookie。