Java ESAPI IMPLEMENTATION



我有一个有关XSS保护的OWASP ESAPI接口的问题。要简单简单,直接我使用Fortify进行源代码审核。该应用程序实现ESAPI并致电esapi.encoder()。canonicalize(用户输入),并且不进行任何进一步的验证并打印输出。这仍然容易受到XSS的影响PS:反射点在HTML元素内部。我已经浏览了有关堆栈溢出中ESAPI界面的所有帖子,但无法完全理解任何帮助将不胜感激

canonicalize根本无法阻止XSS。它解码数据,但您希望相反,以编码数据。

它不仅允许<script>alert(1)</script>直接直通等内容,而且还可以将&lt;script&gt;alert(1)&lt;/script&gt;从不可执行的脚本解码为可执行文件。

您想要的方法是encodeForHTML。这将编码数据,以便可以安全地插入HTML上下文中,因此<将成为&lt;等。

另外,通过检查这些字符是否被接受,检查您是否已经进行了HTML编码。一些模板语言和标签确实会自动编码。

相关内容

  • 没有找到相关文章

最新更新