我正在尝试为我的java应用程序执行hp fortify安全扫描。我有几个问题,我已经解决了。但我无法找到以下问题的解决方案。
经常误用:身份验证
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());
调用getLocalHost()返回的信息不值得信任。攻击者可能欺骗DNS条目。不要依赖DNS来保证安全。
调用getHostName()返回的信息不值得信任。攻击者可能欺骗DNS条目。不要依赖DNS来保证安全。
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);
}
上述问题的理想解决方案是什么?
谢谢