答案 0 :(得分:3)
在Internet Explorer,Firefox和其他浏览器中,您可以通过在javascript:
CSS语句中指定url()
网址将JavaScript嵌入到CSS中。
即使您设法过滤掉这些内容,攻击者仍然可以使用高级CSS完全重新设计页面(包括其所有文本内容)。因此,欺骗用户执行愚蠢的操作变得非常容易,这就是XSS的意义所在。例如,您可以使Delete Account
按钮填满整个窗口并将其文本更改为“单击此处以赢取1000美元”。
您可以选择几个属性(text-*
,font-*
,color
,background
(仅限颜色和渐变,没有网址或其他奇特的内容)。 ,但你必须拒绝任何不符合这些限制的内容。
答案 1 :(得分:0)
有趣的问题。我可以想象样式表能够删除或隐藏可能存在安全问题的元素。您还可以使用:after和:before之后在某个元素之后插入文本,这样您可能需要小心。
或者我认为你应该首先包括他们的样式表,这样他们就不会突然改变你所有的字体或全局的东西。
答案 2 :(得分:0)
那些是旧的黑客,但可能仍然可以在较旧的浏览器中工作,例如你可以将javascript协议放在href attr中。
http://ha.ckers.org/xss.html (寻找风格)