强化问题 - 路径操纵&经常误用的身份验证

时间:2018-04-11 22:42:49

标签: java networking fortify

我正在尝试为我的java应用程序执行hp fortify安全扫描。我有几个问题,我已经解决了。但我无法找到以下问题的解决方案。

  1. 经常误用:身份验证

    influxDB.write(Point.measurement(perfMeasurementName)       .tag(“hostname”, InetAddress.getLocalHost()。getHostName() .substring(0,15))     .addField(“journeySize”,value.length())     .tag(“status”,statusMessage).tag(“msg”,value)     .addField(“response-time”,(endTime - startTime)/ 1000)     .build());

  2. 调用getLocalHost()返回的信息不值得信任。攻击者可能欺骗DNS条目。不要依赖DNS来保证安全。

    调用getHostName()返回的信息不值得信任。攻击者可能欺骗DNS条目。不要依赖DNS来保证安全。

    1. 路径操作
    2. inputStream = new FileInputStream(configPath);

      攻击者能够控制FileInputStream()的文件系统路径参数,这允许他们访问或修改受保护的文件。

      为此,我尝试通过创建以下方法来验证configpath

      public static int validation(String fileName) {
              if ((!fileName.endsWith(".properties")) || (!fileName.endsWith(".conf"))) {
                  logger.error("Invalid argument. You can only read the config file with .properties or .conf extension");
                  return -1;
              }
              return 0;
          }
      
      if (validation(configPath) == 0) {
          inputStream = new FileInputStream(configPath);
      }
      

      上述问题的理想解决方案是什么?

      谢谢

0 个答案:

没有答案