我正在使用 Fortify SCA 来查找我的应用程序中的安全问题(作为大学作业)。我遇到了一些无法解决的“日志锻造”问题。
基本上,我记录一些来自 Web 界面的用户输入的值:
logger.warn("current id not valid - " + bean.getRecordId()));
Fortify 将此报告为日志伪造问题,因为获取记录Id()返回用户输入。
我已经关注了这个article http://www.jtmelton.com/2010/09/21/preventing-log-forging-in-java/,我用空格替换“新行”,但问题仍然存在
logger.warn("current id not valid - " + Util.replaceNewLine(bean.getRecordId()));
谁能建议一种方法来解决这个问题?
我知道这已经得到回答,但我认为一个例子会很好:)
<?xml version="1.0" encoding="UTF-8"?>
<RulePack xmlns="xmlns://www.fortifysoftware.com/schema/rules">
<RulePackID>D82118B1-BBAE-4047-9066-5FC821E16456</RulePackID>
<SKU>SKU-Validated-Log-Forging</SKU>
<Name><![CDATA[Validated-Log-Forging]]></Name>
<Version>1.0</Version>
<Description><![CDATA[Validated-Log-Forging]]></Description>
<Rules version="3.14">
<RuleDefinitions>
<DataflowCleanseRule formatVersion="3.14" language="java">
<RuleID>DDAB5D73-8CF6-45E0-888C-EEEFBEFF2CD5</RuleID>
<TaintFlags>+VALIDATED_LOG_FORGING</TaintFlags>
<FunctionIdentifier>
<NamespaceName>
<Pattern/>
</NamespaceName>
<ClassName>
<Pattern>Util</Pattern>
</ClassName>
<FunctionName>
<Pattern>replaceNewLine</Pattern>
</FunctionName>
<ApplyTo implements="true" overrides="true" extends="true"/>
</FunctionIdentifier>
<OutArguments>return</OutArguments>
</DataflowCleanseRule>
</RuleDefinitions>
</Rules>
</RulePack>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)