【发布时间】:2021-06-15 01:04:21
【问题描述】:
我的 JSP 文件中出现跨站点脚本:验证不佳
<td>${message}</td>
【问题讨论】:
标签: jsp fortify cross-site
我的 JSP 文件中出现跨站点脚本:验证不佳
<td>${message}</td>
【问题讨论】:
标签: jsp fortify cross-site
您需要使用任何 AntiXSS 库清理来自用户的任何输入,并在输出之前对 {message} 进行 HTML 编码。防止跨站脚本是一种很好的编码实践。
我不是 JSP 编码员,但一个简单的搜索让我找到了this OWASP page。因此,以下语句应该可以完成这项工作。您需要导入包org.owasp.Encode。
<td>"<%=Encode.forHtml(message)%>"</td>
完成它的更本地方法是使用fn:escapeXML 函数。这样,您的代码将如下所示:
<td>{fn:escapeXml(message)}</td>
【讨论】:
org.owasp.Encode 包。相反,我发现 JSP 具有防止 XSS 的隐藏功能。您可以使用fn:escapeXML 来防止此类攻击。试试这个:<td>{fn:escapeXml(message)}</td>