首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有办法在现代浏览器中获得CSS XSS吗?

有办法在现代浏览器中获得CSS XSS吗?
EN

Stack Overflow用户
提问于 2014-09-01 20:41:07
回答 1查看 2.8K关注 0票数 7

我想知道是否有办法在现代浏览器上获得CSS风格的XSS?

例如,在较旧的IE浏览器上,以下内容易受攻击:

代码语言:javascript
复制
<div style="width:expression(prompt('XSS'))">
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-01 20:54:23

不是的。正如这个例子完美地说明的,Javascript (或任何脚本)在CSS中没有位置,因此XSS (第二个S用于“脚本”)是不可能的。CSS只应该是声明性的,并且在实现时应该符合W3标准。现在,动态表达式是用calc完成的,它只能计算简单的数学表达式,而不需要诉诸JS引擎。

expression是一种只针对IE的黑客攻击,目的是在W3想出一个替代方案之前,为特定特性提供便利。当calc出现时,expression被否决了。从IE11,在Internet区域中不再支持开始。正是2008年宣布才会以这种方式结束,特别是以“减少攻击表面”为核心原因之一。在比IE11更早的版本中,它已经被支持了很长一段时间了,只是在古怪模式和IE7仿真模式中。

总结: CSS没有Javascript的位置,因此,当在当前的每个浏览器中正确实现时,不能用XSS攻击它。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25612661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档