【问题标题】:Information Exposure Through Sent Data in Java通过 Java 中的已发送数据公开信息
【发布时间】:2016-11-07 21:19:24
【问题描述】:

我的 Java 代码中的 veracode 存在通过已发送数据漏洞暴露的信息。 这是我的代码:

// read file and write it into form...
     bytesRead = fileInputStream.read(buffer, 0, bufferSize);  

       while (bytesRead > 0) {

          dos.write(buffer, 0, bufferSize); 
          bytesAvailable = fileInputStream.available();
          bufferSize = Math.min(bytesAvailable, maxBufferSize);
          bytesRead = fileInputStream.read(buffer, 0, bufferSize);   

            }

而缺陷就是这条线:dos.write(buffer, 0, bufferSize); 有人可以帮帮我吗?

【问题讨论】:

  • 如果我用 .write(buffer, 0, bufferSize) 替换它,它仍然在 veracode 中显示相同的数据缺陷。

标签: java security


【解决方案1】:

您应该拨打.write(buffer, 0, bytesRead) 而不是.write(buffer, 0, bufferSize)。 .read 操作可能不会读取 bytesSize 字节,而是可能读取更小的块。

【讨论】:

    【解决方案2】:

    我认为问题在于写入/读取是否引发异常 - 这可能会显示比 Veracode 想要的更多信息。 Security: CWE-201: What is the correct way to securely read a properties file using openStream? 展示了如何包装 IO 代码 - 这可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-12
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-27
      相关资源
      最近更新 更多