当我对我的项目 JSP 页面进行强化扫描时,Fortify 抱怨更多 XSS 问题以修复页面。它在抱怨大多数地方,例如:<c:out>
陈述。我尝试使用函数 escapeXml ,<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
但这${fn:escapeXml(path)}
是按原样打印整个文本。
实际上,我的 JSP 中有如下代码。我想修复<C:out value="${cdt}"/>
标签的 XSS 漏洞。
<c:set var="checked">
checked="checked"
</c:set>
<c:set var="cdt" value="" />
<c:set var="dbt" value="" />
<c:choose>
<c:when test="${casesForm.institutionRepresents == 'C'}">
<c:set var="cdt" value="${checked}"/>
</c:when>
<c:when test="${casesForm.institutionRepresents == 'D'}">
<c:set var="dbt" value="${checked}"/>
</c:when>
</c:choose>
<div class="field LINK_show">
<label><bean:message key="label.institutions" /></label>
<div style="display:inline;padding-left:10px">
<input type="radio" name="institutionRepresents" value="A" <c:out value="${cdt}" />><bean:message key="label.credit" />
<input type="radio" name="institutionRepresents" value="I" <c:out value="${dbt}" />><bean:message key="label.debit" />
</div>
</div>
有没有办法修复<c:out>
标签中的 XSS 漏洞?