gpt4 book ai didi

java - 安全漏洞 - Veracode 报告 - crlf 注入(inject)

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:03 27 4
gpt4 key购买 nike

我收到了我的 javaEE 应用程序的 Veracode 报告。它在任何日志记录(使用 log4j)上都有缺陷,所以我将 StringEscapeUtils.escapeJava(log) 添加到所有这些记录中,但 veracode 一直将它们报告为安全缺陷。

这是正确的解决方案吗?我还能做什么?

这是报告信息:标题:日志输出中和不当

描述:函数调用可能导致日志伪造攻击。将未经过滤的用户提供的数据写入日志文件允许攻击者伪造日志条目或将恶意内容注入(inject)日志文件。损坏的日志文件可用于覆盖攻击者的踪迹或作为对日志查看或处理实用程序进行攻击的传递机制。例如,如果一个网络管理员使用基于浏览器的实用程序查看日志,可能会发生跨站点脚本攻击。

建议:尽可能避免将用户输入直接嵌入到日志文件中。清理用户提供的用于构建日志的数据通过使用安全记录机制(例如 OWASP ESAPI 记录器)输入条目,它将自动删除意外的回车和换行,并且可以配置为对非字母数字使用 HTML 实体编码数据。仅在绝对必要时才编写自定义黑名单代码。始终验证用户提供的输入以确保它符合预期的格式,尽可能使用集中式数据验证例程。

他们建议使用 ESAPI,但这是一个非常大的项目,所以我需要最简单的解决方案,这就是我尝试使用 String.escape 'StringEscapeUtils.escapeJava(log)' 的原因

谢谢!

最佳答案

我是 Veracode 应用程序安全咨询小组的负责人,可以详细回答您的问题。最好的对话地点是通过 Support@veracode.com,因为讨论可能涉及关于您的发现的具体细节,我们可能希望避免公开这些细节。

简短的回答是 StringEscapeUtils.escapeJava() 可以有效消除典型的 CRLF 风险,但它不是我们的系统自动识别的机制之一,因为在某些情况下它可能不够用。

Veracode 系统具有适当标记这些发现的机制,因此它们不会造成混淆。

请联系 Veracode 支持 (support@veracode.com),我们将进行详细讨论。

最好的问候,吉姆。

关于java - 安全漏洞 - Veracode 报告 - crlf 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225935/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com