【问题标题】:Cross-Site Scripting: Poor Validation JSP跨站点脚本:糟糕的验证 JSP
【发布时间】:2021-06-15 01:04:21
【问题描述】:

我的 JSP 文件中出现跨站点脚本:验证不佳

<td>${message}</td>

【问题讨论】:

    标签: jsp fortify cross-site


    【解决方案1】:

    您需要使用任何 AntiXSS 库清理来自用户的任何输入,并在输出之前对 {message} 进行 HTML 编码。防止跨站脚本是一种很好的编码实践。

    我不是 JSP 编码员,但一个简单的搜索让我找到了this OWASP page。因此,以下语句应该可以完成这项工作。您需要导入包org.owasp.Encode

    <td>"<%=Encode.forHtml(message)%>"</td>
    

    完成它的更本地方法是使用fn:escapeXML 函数。这样,您的代码将如下所示:

    <td>{fn:escapeXml(message)}</td>
    

    【讨论】:

    • 出现错误“在这一行发现多个注释:消息无法解析为变量,无法解析编码”
    • @cheemagenupuri:您需要为此导入 org.owasp.Encode 包。相反,我发现 JSP 具有防止 XSS 的隐藏功能。您可以使用fn:escapeXML 来防止此类攻击。试试这个:&lt;td&gt;{fn:escapeXml(message)}&lt;/td&gt;
    • fortify 不接受 {fn:escapeXml(message)}
    猜你喜欢
    • 2020-12-26
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 2016-05-23
    • 2015-08-15
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    相关资源
    最近更新 更多