Web 浏览器状态栏是否始终可信?

信息安全 网页浏览器
2021-08-09 11:10:44

如果我将鼠标指针指向一个链接,但没有点击它,我可以在左/下角看到它显示它的 URL。

问:这个 URL(在左侧/底部)是否与我的 Web 浏览器将访问的 URL 不同?(不要指望服务器端可以使用例如:HTTP 302 重定向)

问题只是因为知道告诉用户在单击链接之前检查浏览器的左侧/底部对于安全性来说是一件好事/有用的事情。

请也提供真实的链接/描述:)

PS:也许如果启用了 JavaScript,用户可以转到另一个网站,不同于左/下显示的网站?

在此处输入图像描述

更新:是否使用 ex.: NoScript 禁用 JavaScript 100% 解决了这个问题?(为这部分问题打开了赏金) - 因为它看起来可以用 NoScript 来阻止。

4个回答

这个 URL(在左侧/底部)是否与我的网络浏览器将访问的 URL 不同?

是的。

  • 对于一个简单的链接点击,整个点击可以被 JavaScript 捕获并做其他事情,包括导航到不同的页面

  • 该链接可以替换为 onmousedown(这是某些链接点击跟踪脚本的常见行为)

  • 对于像 Chrome 这样的地址弹出窗口出现在页面区域内的浏览器,该弹出窗口可能会被 JavaScript 和页面元素伪造。通常,您只能信任出现在 chrome 边框中、页面控制之外的浏览器 UI。

因此,地址弹出是一种便利功能,但不提供安全功能。

是的,链接最终将带您访问的 URL可能与状态栏上显示的不同。

一种可能的方法是监听mousedown链接元素的 DOM 事件并更改事件内部的链接。

要观察这一点,您可以转到 Google 搜索,打开开发者控制台并单击结果链接。

当您将光标悬停在链接上时:

悬停在

当您按住鼠标按钮时,链接会更改,但 Chrome 中的状态栏不会更改:

鼠标向下

当您稍微移动鼠标时,Chrome 中的状态栏会更新:

鼠标移动

(实际上我认为应该有人在http://crbug.com上提交错误报告。)

不,你不能相信它。

最多产的例子是什么?例如,看看 Google 搜索结果。将鼠标悬停在结果上,您会在状态栏中获得一个链接,右键单击并将链接复制到剪贴板,您会看到完全不同的链接。

谷歌这样做的方式非常聪明(而且非常简单)。当 HTML 返回时,您在 HTML 链接中拥有正确的 URL href,但是一旦您的浏览器注册您的浏览器在链接上拾取“鼠标按下”事件,它们就会更改它

问题只是因为知道告诉用户在单击链接之前检查浏览器的左侧/底部对于安全性来说是一件好事/有用的事情。

我的非技术性答案(与其他关注 JS 和 CSS 力量的答案不同):

我认为这种检查的想法是绝对不现实的(近乎疯狂),因此对于现实世界的现实计算机安全是有害的。

  • 即使您禁用更改 JS 中的状态栏(为什么网站真的需要更改状态栏?),
  • 即使您禁用 JS(这会破坏许多不错的 Web 功能),以便无法使用 JS 更改链接的目标,如其他答案所示,
  • 即使您禁用自动 HTTP 重定向(这在某些网站上会很烦人)...

仔细检查每个链接的目标的想法是“安全是可用性的敌人”思想的一个完美例子:这不仅不切实际,而且非常不切实际,以至于用户不仅不会再应用这个原则几分钟,他们甚至可能被引导相信安全处理计算机太难了,不值得

当您提供安全建议时,您不仅仅是在陈述适合特定环境的建议,而是在总体上发送有关计算机安全的信息:安全很容易,安全不容易但可以实现,或者安全太难了。

如果您给出的建议显然很难在每一天、每一天都认真应用,那么您就会给人一种印象,即计算机安全就是完全遵循非常严格的要求这是凡人无法真正做到的。

如果你要求太多,人们就会放弃。而“安全专家”浪费了他们的信誉。

这就是为什么安全建议不能只由半神“安全专家”向普通人提供他们的“科学”提供;安全建议必​​须在现实世界中进行测试;必须观察、衡量建议的执行情况。当经验表明不遵循建议时,必须对其进行更改以使其在现实世界中有用。

告诉用户检查浏览器的左侧/底部

另一个问题是,即使您可以找到一些愿意“检查”每个链接的目标的用户,这些用户甚至都不知道如何进行“检查”,因为他们几乎不知道链接应该在哪里指向.

该建议不仅难以每天练习,而且令人困惑。