如果网页仅部分加密,可能会出现哪些潜在漏洞。
我可以想到两种可能性:
您可以通过 MITM 攻击更改页面的未加密部分(HTML、CSS、图像、JS),以部分更改页面的外观。
您可以通过不安全的连接注入恶意 JS,以窃取/修改页面的加密部分,从而使整个连接不安全。
第二种情况是否可能,或者网络浏览器是否包含一些安全机制来防止它发生?
这个问题也对 Stack Exchange n/w 有影响,因为只有登录页面内包含登录表单的 iframe 被加密:https : //meta.stackexchange.com/questions/96004/login-to-stack-交换帐户不使用 https-ssl
更新:
正如@Ladada 指出的那样,这个问题实际上分为多个部分:
案例 1:加载安全 iframe 以传输机密数据的不安全页面
回答:正如 davidwebster48 在他的回答中指出的那样,这种机制被轻而易举地打败了,因为可以操纵不安全的父页面来加载具有攻击者喜欢的不同页面的 iframe。附带说明一下,这意味着尽管使用 https 登录表单,StackExchange 的登录系统仍容易受到 MITM 攻击。
案例 2:通过 iframe 加载不安全页面的安全页面
(假设不安全的 iframe 不处理任何机密数据)。这种情况特别有趣,因为同源策略也进入了等式。即使两个页面可能来自同一个域,因为它们都使用不同的协议(一个 HTTPS 和另一个 HTTP),这将导致同源限制生效。我不确定这些限制是否足以阻止我们的攻击者死在他的轨道上。
案例 3:链接到不安全 JS 的安全页面
我的回答:我认为这显然是失败的,因为攻击者可以修改 JS 文件来访问/操作整个页面。
案例 4:链接到不安全来源(如图像、CSS)的安全页面
攻击者能否改变足够多的页面外观来进行网络钓鱼攻击?或者他可以发起跨站点脚本攻击吗?