【发布时间】:2022-01-15 09:35:29
【问题描述】:
如何在 Java (IBM Java) 上转储默认值以检查以下默认值?
"com.sun.jndi.rmi.object.trustURLCodebase"
"com.sun.jndi.cosnaming.object.trustURLCodebase"
类似这样,但对于上述参数:
java -XX:+PrintFlagsFinal -version
这是针对CVE-2021-44228 缓解审查。
理想情况下,这可以在 cmd 上进行检查,而无需运行测试代码。
这是我尝试的不显示(显示 Null)的测试代码:
import java.util.Properties;
class TiloDisplay
{
public static void main(String[] args)
{
Properties prop = System.getProperties();
printProperties(prop);
}
public static void printProperties(Properties prop) {
prop.stringPropertyNames().stream()
.map(key -> key + ": " + prop.getProperty(key))
.forEach(System.out::println);
System.out.println("CVE check part ========================================== " );
System.out.println("CVE check for:: com.sun.jndi.ldap.object.trustURLCodebase: " + prop.getProperty("com.sun.jndi.ldap.object.trustURLCodebase"));
System.out.println("CVE check for:: com.sun.jndi.rmi.object.trustURLCodebase: " + prop.getProperty("com.sun.jndi.rmi.object.trustURLCodebase"));
System.out.println("CVE check for:: com.sun.jndi.cosnaming.object.trustURLCodebase: " + prop.getProperty("com.sun.jndi.cosnaming.object.trustURLCodebase"));
System.out.println("Cross Check: " + prop.getProperty("java.version"));
}
}
编译运行:
javac DisplayApp.java -source 1.8 -target 1.8
java TiloDisplay
【问题讨论】: