Java XSS错误:如何防止这种情况?
我有一个情况: 我有一个页面,它使用Java XSS错误:如何防止这种情况?,java,jsp,jstl,xss,veracode,Java,Jsp,Jstl,Xss,Veracode,我有一个情况: 我有一个页面,它使用显示来自DB的数据,其中的内容有一些特殊字符作为注册商标。我在代码中使用java、jsp、jstl。 注册商标符号显示为: ® 进口产品非常完美,如: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> 请给我一
显示来自DB的数据,其中的内容有一些特殊字符作为注册商标。我在代码中使用java、jsp、jstl。
注册商标符号显示为:
®
进口产品非常完美,如:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
请给我一个解决这个问题的方法好吗?非常感谢您提供的任何帮助。因为您允许在页面中添加标记,因此会将其视为漏洞 而不是写作
<span class="sup">®</span>
®;
你可以写
<script>alert("Alert");</script>
警报(“警报”);
这将是一个持久的XSS
尝试重构代码,使其不包含数据库值中的任何标记。否则,请确保数据库中的值已清理。数据库由第三方供应商维护,不受我的控制,因此无法更改数据库值。在我从DB检索到商标后,我必须在页面中显示商标。DB包含XML值,如果没有转义,则实际值不会打印在页面中。在这种情况下,如何清理从DB检索到的值?您应该使用类似的库来清理输入。还要注意,从不受您控制的数据库检索数据也是从外部源输入的。使用
jsoup
怎么样?会有帮助吗?
<span class="sup">®</span>
<script>alert("Alert");</script>