2014-09-01 67 views
5

我想知道是否有任何方法可以在现代浏览器上获得CSS Style XSS?有没有办法在现代浏览器中获取CSS XSS?

例如,在较旧的IE浏览器,以下是易感:

<div style="width:expression(prompt('XSS'))"> 
+0

如果HTML是以文本形式动态构建的,并且用于style属性(例如)的数据没有转义,那么HTML注入仍然是可能的;但我怀疑这不是被要求的。 – user2864740 2014-09-01 20:51:35

+0

你能解释一下你打算如何使用它?可能有其他选择。 – easwee 2014-09-01 20:52:53

回答

3

号这个例子示出了完美,使用Javascript(或任何脚本)具有在CSS没有到位,所以XSS(第二S是对于'脚本')是不可能的。 CSS应该只是声明性的,并且在符合W3标准的情况下执行。动态表达式现在使用calc完成,它只能评估简单的数学表达式,而不使用JS引擎。

expression是一个IE浏览器只有黑客帮助具体功能,直到W3提出了一个替代方案。由于出现calc,因此不推荐使用expression。从IE11开始,expression is no longer supported in the Internet Zone。它是announced in 2008,它会以这种方式结束,特别是引用'作为减少攻击面'的核心原因之一。在比IE11更老的版本中,它已经有相当一段时间只支持怪异模式IE7仿真模式无论如何。

总结:CSS没有用于Javascript的地方,因此在正确实施时无法像XSS一样在每个当前浏览器中进行攻击。

+0

“应该*不可*”或“不再可能在IE中”(而不是“不可能”)。 – user2864740 2014-09-02 02:41:21

+1

如上所述,在IE11中,对公共场所“表达式”的支持完全被削弱了,并且在很多年以来一直受到严重限制。因此,除了缺陷和未知漏洞之外,这是不可能的。 – 2014-09-02 07:47:13

相关问题