返回

Firefox在内部页面上阻止内联和Eval JavaScript,以防止注入攻击

发布时间:2022-04-01 09:40:29 573
# javascript# java# 漏洞# 脚本# 工具
firefox browser javascript injection attacks
为了缓解Firefox中一大类潜在的跨站点脚本问题,Mozilla已经阻止了所有内联脚本的执行,以及内置“about:pages”(关于:页面)的潜在危险评估功能,这些功能是浏览器敏感首选项、设置和静态信息的网关。



  • 关于:配置—;面板来修改Firefox首选项和关键设置。
  • 关于:下载—;你最近的下载是在Firefox中完成的。
  • 关于:记忆—;显示Firefox的内存使用情况。
  • 关于:newtab—;默认的新标签页。
  • 关于:插件—;列出你所有的插件以及其他有用的信息。
  • 关于:私密浏览—;打开一个新的私人窗口。
  • 关于:网络—;显示网络信息。

需要指出的是,这些变化不会影响互联网上的网站在Firefox浏览器上的工作方式,但今后,Mozilla承诺将“密切审计和评估”第三方扩展和其他内置机制中有害功能的使用情况。

为了安全起见,Firefox禁用了内联JavaScript


由于所有这些页面都是用HTML/JavaScript编写的,并在浏览器本身的安全上下文中呈现,因此它们也容易受到代码注入攻击,如果存在漏洞,远程攻击者可能会代表用户注入和执行任意代码,即跨站点脚本(XSS)攻击。

为了增强抵御代码注入攻击的第一道防线,即使存在漏洞,Mozilla也阻止了所有内联脚本的执行,因此也阻止了注入脚本的执行,通过实施严格的内容安全策略(CSP),确保JavaScript代码仅在使用内部协议从打包资源加载时执行。

为了实现这一点,Mozilla必须重写所有内联事件处理程序,并将所有内联JavaScript代码移出到单独的打包文件中,用于所有45个about:页面。

Mozilla在今天早些时候发布的一篇博文中说:“在about:页面中不允许任何内联脚本,这限制了任意代码执行的攻击面,因此为抵御代码注入攻击提供了强大的第一道防线。”。

没有评价,就没有邪恶!


当攻击者无法直接注入脚本时,他们会使用JavaScript函数eval()和类似方法诱使目标应用程序将文本转换为可执行的JavaScript以实现代码注入。

因此,除了内联脚本,Mozilla还删除并阻止了类似eval的函数,浏览器制造商认为这是另一个“危险的工具”,因为它在与自身相同的安全上下文中解析和执行任意字符串。

Mozilla在其MDN web文档中解释道:“如果使用可能受恶意方影响的字符串运行eval(),最终可能会在用户的机器上以网页/扩展的权限运行恶意代码。”。



谷歌也有同样的想法,正如这家科技巨头所说,“eval在扩展中是危险的,因为它执行的代码可以访问扩展的高权限环境中的所有内容。”

为此,Mozilla在其Firefox web浏览器的代码库中,从系统特权上下文和父进程重写了所有类似eval的函数。

除此之外,该公司还添加了eval()断言,禁止在系统特权脚本上下文中使用eval()函数及其亲属,并将eval()的未知实例通知Mozilla安全团队。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
安全的“非公开”p2p加密消息服务 2022-04-01 08:56:11