即使在使用web.xml中定义的ESAPI XSS Filter后,Veracode扫描仍然会标记XSS问题

时间:2018-02-01 07:05:06

标签: jsp xss servlet-filters esapi veracode

使用ESAPI创建XSS筛选器 参考(https://dzone.com/articles/stronger-anti-cross-site)  并在web.xml中定义它。使用Veracode扫描ear文件。 Veracode仍在标记与XSS问题相同的问题。 Veracode不会使用Servlet过滤器作为解决代码中解决XSS问题的解决方案。

1 个答案:

答案 0 :(得分:0)

不要使用该过滤器。作者对它能做什么过于乐观。有很多方法可以利用XSS。查看XSS Filter Evasion Cheat Sheet的一些示例。例如,随机取一个:<IMG SRC=# onmouseover="alert('xxs')">并通过过滤器运行它。它直接通过了。

他们完成替换的方式可能会使输入处于更糟糕的状态。通过从<<script>script>alert('xss')</<script>script>删除脚本代码,您将离开<script>alert('xss')</script>

即使添加了更多模式,黑名单方法也是错误的,因为它无法涵盖所有​​可能性并且可能破坏有效数据。要防止XSS问题,您应确保添加到页面的任何数据都是HTML编码的。请参阅:XSS prevention is JSP/Servlet