日志的ESAPI:我应该编码日志输出吗?

时间:2014-12-19 22:11:30

标签: logging esapi

我的日志记录陷入了两难境地。 我ESAPI.properties为日志设置了如下选项:

LogLevel=INFO
LogEncodingRequired=true

在我的申请中,如果我打电话 ESAPI.getLogger(MyClass.class).info(Logger.USABILITY, true, message),它会打印带有编码字符的邮件(如果有任何<,>,&,',"等等)。

问题是,我将打印出日志的消息将包含这些字符,上面的log.info调用将弄清楚日志与所有编码字符的对比情况。

问题:如果我设置LogEncodingRequired=false(然后按原样输出消息),是否会增加我的日志文件(可在Web浏览器中查看)易受XSS攻击的可能性?

1 个答案:

答案 0 :(得分:0)

听起来您正在使用基于Web的工具查看日志,该工具无法正确编码其输出,或者正在Web浏览器中查看原始Web日志。如果您在进入应用程序时未正确验证用户提供的数据(然后将其写入这些日志),则修改此值肯定会增加XSS的可能性。这也可能导致对数注入。