【问题标题】:ESAPI for logs: Should I encode the log output?用于日志的 ESAPI:我应该对日志输出进行编码吗?
【发布时间】:2014-12-19 22:11:30
【问题描述】:

我的日志记录有点进退两难。 我有ESAPI.properties 为日志设置选项如下:

LogLevel=INFO
LogEncodingRequired=true

在我的应用程序中,如果我调用 ESAPI.getLogger(MyClass.class).info(Logger.USABILITY, true, message),它将打印出带有编码字符的消息(如果有这些、&、'、"等)。

问题是,我将打印出日志的消息将包含这些字符,并且上面的 log.info 调用会弄乱日志与所有编码字符的外观。

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

【问题讨论】:

    标签: logging esapi


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-24
      • 2014-05-05
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      相关资源
      最近更新 更多