Java SP实现

问题描述 投票:0回答:1

我有一个关于用于xss保护的owasp ESAPI接口的问题。为了保持简单而简单,我正在使用fortify进行源代码审查。应用程序实现ESAPI并调用ESAPI.encoder()。canonicalize(用户输入)并且不进行任何进一步的验证并打印输出。这仍然容易受到xss PS的影响:反射点位于html元素内。我已经浏览了有关堆栈溢出中有关ESAPI接口的所有帖子,但无法得到它任何帮助将不胜感激

filter xss owasp esapi
1个回答
1
投票

单独使用canonicalize并不能阻止xss。它解码数据,但你想要相反,编码数据。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.