2016-12-29 47 views
0

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

如何在Chrome中使用客户端代码和使用本机方法执行相同的操作(从CSS执行任意不安全的JS)没有任何额外的库?

+0

你链接到的问题不是Firefox/IE的具体 - 在该问题的任何答案是浏览器不可知论的,因为工作是在服务器端完成的(在大多数答案中,我可能会被打扰阅读) –

+0

@JaromandaX我已经澄清了一下。那里的答案链接到一个关于像CSS中使用的表达式()这样的方法的文章。 – K48

+0

你的意思是[XBL](https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Tutorial/Using_XBL_from_stylesheets)在Firefox中?和宏达电在IE? –

回答

0

在现代浏览器中,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补救来欺骗用户相信您注入的网站内容具有权威性。如果后者,然后走下一个不同的路线,而不是脚踏实地的CSS来实现脚本执行。

相关问题