0x01 漏洞描述

Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。该日志框架被大量用于业务系统开发,用来记录日志信息。 Log4j-2中存在JNDI注入漏洞,当程序将用户输入的数据被日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。鉴于此漏洞危害较大,建议客户尽快采取措施防护此漏洞。

0x02 影响版本

Apache Log4j 2.x < 2.15.0-rc2

Untitled

Untitled

0x03 漏洞复现

docker pull vulfocus/log4j2-rce-2021-12-09

payload生成

https://www.jackson-t.ca/runtime-exec-payloads.html

Untitled

Untitled

监听

nc -lvp 8888

发送请求

Untitled

处置建议

缓解措施:

(1). jvm参数 -Dlog4j2.formatMsgNoLookups=true

(2). log4j2.formatMsgNoLookups=True