Firefox在内部页面上阻止内联和Eval JavaScript,以防止注入攻击
发布时间:2022-04-01 09:40:29 573
相关标签: # javascript# java# 漏洞# 脚本# 工具

- 关于:配置—;面板来修改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安全团队。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报