问题标签 [log-forging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - checkmarx 在静态方法中看不到代码
Checkmarx 不理解静态方法。
对于上面的代码,Checkmarx总是抱怨存在Log Forging,因为它认为journeyId
是来自用户输入。但LogUtils.getUserInputText
唯一允许返回 ascii 文本。但Checkmarx不承认这一点。然后我做了这个测试
我没有改变任何东西LogUtils
。我只在调用静态方法之前实例化它,现在Checkmarx不再抱怨了。
这是getUserInputText
getUserInputText 中的内容无关紧要。Checkmarx 抱怨第一个,但没有抱怨第二个。他们正在调用相同的函数。
老实说,我对此感到非常沮丧。浪费了我整个下午来测试为什么我的修复没有解决日志伪造问题。最终我发现这是一个 checkmarx 问题。
更有趣的发现在这里:
如果我将 LogUtils 类移动到另一个依赖项目,无论我是否实例化,Checkmarx 总是抱怨日志伪造问题。
logging - 在 logback 中转义 HTML
我们有一个使用 Logback 和 SLF4J 的 Spring 项目。我一直致力于在我们的项目中构建 Log Forging 预防。我使用owasp.security-logging-logback替换日志中的 CRLF 字符。
模式: %d ${LOG_LEVEL_PATTERN:-%5p} ${PID:-} --- [%15.15t] %-40.40logger{39} : %crlf(%m%ex) %n
除此之外,我们还希望通过转义正在记录的消息中存在的 HTML来添加 XSS 保护。我还没有找到在模式中引入转义 HTML 的任何方法。
log4j 具有%encode{}转换模式。SLF4J中有类似的东西吗?如果没有,您能指导我如何为此构建解决方案吗?
log4j - 如何解决 java spring boot 应用程序中的安全审计查找日志注入
我正在尝试通过使用 lombok extern Slf4j 记录它来获取异常详细信息。但是在覆盖率扫描中发现了一个问题,如下所示。
这是一个安全审计发现。CID 227846(第 1 个,共 1 个):日志注入 (LOG_INJECTION)。受污染的字符串 ex 存储在日志中。这可能允许攻击者伪造日志消息以混淆自动日志解析工具或试图诊断攻击或其他问题的人。该值在字节码中使用不安全,无法显示。可以通过验证用户可控输入是否符合预期来解决日志注入漏洞。
我很少找到解决此问题的选项。ESAPI 或 Apache log4j 审计是否适合此处。请建议。