可能重复:
Cross Site Scripting in CSS Stylesheets可以从链接的样式表中执行XSS攻击吗?
我正在考虑,允许用户创建通过链接的样式表(不嵌入样式标签)自己的CSS。可以从样式表执行XSS攻击吗?
感谢
可能重复:
Cross Site Scripting in CSS Stylesheets可以从链接的样式表中执行XSS攻击吗?
我正在考虑,允许用户创建通过链接的样式表(不嵌入样式标签)自己的CSS。可以从样式表执行XSS攻击吗?
感谢
在Internet Explorer,Firefox和其他浏览器,你可以通过在url()
CSS语句中指定一个javascript:
URL在CSS中嵌入的JavaScript。
即使您设法将其过滤掉,攻击者仍可以使用高级CSS完全重新设计页面(包括其所有文本内容)。因此,诱骗用户执行愚蠢行为变得非常容易,这就是XSS的意图。例如,您可以使按钮填充整个窗口并将其文本更改为“点击此处赢取1000美元”。
你可以白名单有选择的几个特性(text-*
,font-*
,color
,background
(仅限于颜色和渐变,没有网址或其他花哨的东西)),但你必须拒绝任何不符合这些限制。
这些都是旧的黑客,但可能仍然在旧版浏览器中工作,例如,您可以将javascript协议放在href attr中。
http://ha.ckers.org/xss.html (搜索方式)
可能IE做过最坏的打算。 –
@Amir Raminfar:我认为这将是一个较短的清单,列出哪些IE做对了。我会开始:允许我下载一个真正的浏览器。 – Robert
是否有少量的CSS关键字可以加入黑名单,以防止执行和使用新内容填充元素? – Tom