关于Log4j的一些回顾

257 阅读1分钟

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 这个区间中。所以大家如果需要对漏洞进行升级的话,只需要调整这些依赖的版本号即可。