javascript - 在 Chrome 中从 CSS 执行 JavaScript,类似于 Firefox 和 IE

标签 javascript css google-chrome security

This question (答案链接 to this post )讨论了在 IE 和 Firefox 中使用各种 hack 执行从 CSS 文件调用的任意 JavaScript,例如使用 expression()。 (评论中有人澄清,这些技术的正确名称是 Firefox 中的 XBL 和 IE 中的 HTC)

如何在 Chrome 中仅使用客户端代码并使用 native 方法而不使用任何其他库来执行相同的操作(从 CSS 执行任意不安全的 JS)?

最佳答案

CSS 中的 JavaScript 在现代浏览器中是不可能的 - 除了任何当前支持的 URL 参数(例如 background-image ),其中 javascript: URL 将导致任何脚本被执行。

参见 this answer ,但我已在此处进行了总结。

moz-binding 在 Firefox 2 和 3 中是可能的,并且发现的缺陷后来得到缓解,但是在未来的版本中不再支持。

自 Internet Explorer 10 起不再支持 HTML 组件,因此开发依赖于此技术的网站意义不大。

CSS 表达式仅分别在 IE5/7 怪癖/标准模式下受支持。

您是要创建漏洞利用程序,还是要使用 CSS 实现某些功能要求?如果是前者,请专注于 URL 参数或将 CSS 上下文分解为 JavaScript。此外,UI 纠正可能会诱骗用户相信您注入(inject)的网站内容是权威的。如果是后者,则走另一条路而不是硬塞 CSS 来实现脚本执行。

关于javascript - 在 Chrome 中从 CSS 执行 JavaScript,类似于 Firefox 和 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41372706/

相关文章:

javascript - 如何使用 onclick 运行 Javascript 函数

javascript - JQuery:延迟加载 JQuery 和 '$ not defined'

javascript - 从具有多个变量的表单构建一个帖子数据结构

javascript - 如何测试一个对象是否是代理?

第二次点击时执行的javascript函数

javascript - 我如何根据我在 JavaScript 中分配的一系列字符串来验证用户输入?

qt - 为什么 QTWebKit 远远落后于 Google Chrome (Chromium)

html - CSS Margin 仅适用于 chrome

来自类名的 CSS 属性值

javascript - 我应该读/写 XML 文件以将数据保存在本地 Chrome 扩展程序中吗?