Log4j之前有很多其他版本存在,这里我主要将其分为Log4j1和Log4j2两大类。
Log4j1
相应依赖内容为:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j</artifactId>
<version>2.14.1</version>
<type>pom</type>
</dependency>
它内部的包名称都是:org.apache.log4j开头的
Log4j2
相应依赖内容为:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.14.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.14.1</version>
</dependency>
它内部的包名称都是:org.apache.logging.log4j开头的
可以看出两种不同版本的日志依赖,对应引用的包路径都不相同。 在使用第一版本的log4j的时候,相关的配置主要是采用.properties文件进行配置,而到了log4j第二版本的时候,则是采用了.xml的方式进行配置为主。
Log4j的漏洞
在日志输出的时候,没有对JNDI查询语句进行防护,这就会导致如果有人恶意输入一些JNDI的内容,会有恶意攻击情况发生。
而给漏洞存在的版本是Log4j2相关的依赖,主要存在于:2.0 <= Apache log4j2 <= 2.14.1 这个区间中。所以大家如果需要对漏洞进行升级的话,只需要调整这些依赖的版本号即可。