我有一个关于xss protection.To的owasp接口的问题--保持简单、简洁--我正在使用fortify进行源代码审查。应用程序实现ESAPI并调用ESAPI.encoder().canonicalize(用户输入),不执行任何进一步的验证并打印输出。这是否仍然容易受到xss的攻击:反射点在html元素中。我已经浏览了所有关于堆栈溢出中的ESAPI接口的文章,但是没有得到任何帮助是非常感谢的。
发布于 2017-12-22 00:08:57
单靠canonicalize根本无法阻止xss。它解码数据,但您希望相反,对数据进行编码。
它不仅允许像<script>alert(1)</script>这样的内容直接通过,而且还将<script>alert(1)</script>从非可执行脚本解码为可执行脚本。
相反,您需要的方法是encodeForHTML。这将对数据进行编码,以便将其安全地插入到HTML中,因此<将成为<等等。
另外,通过检查这些字符是否被接受,来检查是否已经在进行HTML编码。有些模板语言和标记会自动编码。
https://stackoverflow.com/questions/47929966
复制相似问题