【发布时间】:2012-09-28 21:06:54
【问题描述】:
我正在使用 Fortify SCA 来查找我的应用程序中的安全问题(作为大学作业)。我遇到了一些无法解决的“Log Forging”问题。
基本上,我会记录一些来自网络界面的用户输入值:
logger.warn("current id not valid - " + bean.getRecordId()));
Fortify 将此报告为日志伪造问题,因为 getRecordId() 返回用户输入。
我已经关注了这个article,我正在用空格替换“新行”,但问题仍然存在
logger.warn("current id not valid - " + Util.replaceNewLine(bean.getRecordId()));
任何人都可以提出解决此问题的方法吗?
【问题讨论】:
-
恕我直言,这都是关于内容的,:) 作为一种好的做法,您必须清理用户输入,这应该被视为在某些情况下的警告,例如异构软件架构(从 JAVA 调用 C 应用程序) ) 未经处理的用户输入可能很危险(替换新行远非正确处理 ;) ),格式攻击也可能带来威胁,如果记录 ID 是数字(长整型、双精度),您可以跳过它 :),如果它是字符串,您也可以跳过它,但请记住它:)。
标签: java security logging fortify log-forging