清理来自 XSS 攻击的输入请求参数



我正在努力保护我的应用程序的输入请求参数免受XSS攻击。我遇到了用于防止XSS攻击的owasp备忘单。我正在按照 https://github.com/owasp/java-html-sanitizer 上的说明进行操作。

我已经设法使用以下代码阻止了XSS攻击(通过提供附加到输入参数的onMouseOver等事件来完成(:

PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.BLOCKS);
value = policy.sanitize(value); // Value is the "value" of input param

这会将查询字符串中提供的类似 name=FIRST" onmouseover="alert('222'(的内容转换为: X=Val1&Y=&Z=&A=false&name=FIRST" onmouseover="alert('222'(&B=456&C=123

<span class="db-wrap-name" title="FIRST&quot;" onload&#61;&#34;alert(&#39;222s2&#39;)="">FIRST" onload="alert('2222')</span>

我的问题是否足以保护输入参数免受 XSS 的影响?

PS:有人可以指出我到线性来源以通过OWASP HTML清理。我已经设法对此有所了解,但存在差距。如果我能得到一个线性源,那就太好了。

谢谢

No.这还不够。请参阅 OWASP XSS 备忘单 。

对于战斗 XSS,您必须:

  1. 验证您的输入
  2. 最终转义输入中的某些字符
  3. 对发送回客户端的数据进行编码。

最新更新