目录
Log4j2是一个Java日志组件,被各类Java框架广泛使用,它的前身是Log4j,Log4j2重新构建和设计了框架。本次漏洞影响范围为Log4j2最早期的版本2.0-beta9到2.15.0。Log4j只有一个jar包log4j-${版本号}.jar。Log4j2分为2个jar包,一个是接口log4j-api-${版本号}.jar,一个是具体实现log4j-core-${版本号}.jar。Log4j2的版本号目前均为2.x。Log4j的版本号均为1.x。Log4j2的package名称前缀为org.apache.logging.log4j。Log4j的package名称前缀为org.apache.log4j。
Log4j2的Lookup主要功能是通过引用一些变量,往日志中添加动态的值。这些变量可以是外部环境变量,也可以是MDC中的变量,还可以是日志上下文数据等。
漏洞复现
以下复现使用Log4j2-2.14.1版本,maven依赖
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.14.1&l