我一直在研究这个问题,因此决定根据您已经拥有的内容,这份OWASP速查表和我自己的一些实验来写出自己的答案
HTML转义:
- $ {}或escape()函数
属性转义:(常见属性)
- 只要您将属性用双引号(“)括起来并使用$ {},就可以在游戏中进行处理。
- 对于复杂的属性(href / src / etc),请参见下面的Javascript
- 不安全代码示例
<a id=${data.value} href="...">...</a><a id='${data.value}' href="...">...</a>
- 这将破坏data.value的内容:
% href=javascript:alert('XSS')%' href=javascript:alert(window.location)
Javascript转义:(以及复杂的属性)
- 使用escapeJavascript()。http://www.playframework.org/documentation/1.2/javaextensions
- 不安全代码示例
<a onmouseover="x='${data.value}'; ..." href="...">...</a>
- 这将破坏data.value的内容:
'; javascript:alert(window.location);//
CSS转义:
- 不确定,因为我不需要这个。
- 我以为您需要以某种方式创建自己的。希望那里有东西可以为您操纵琴弦。
网址转义:
- 使用urlEnpre()。http://www.playframework.org/documentation/1.2/javaextensions



