【编译办法】Apache Log4j2远程代码执行漏洞(CNVD-2021-95914)补丁办法

本文档详细介绍了如何修复Apache Log4j2的远程代码执行漏洞(CNVD-2021-95914)。包括下载源码、安装Apache Maven、配置JDK环境,以及解决编译过程中遇到的log4j-api-java9和log4j-perf问题,最后成功编译和安装补丁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache Log4j2远程代码执行漏洞(CNVD-2021-95914)

收到网络中心老师发的邮件

2021年12月10日,国家信息安全漏洞共享平台(CNVD)收录了Apache Log4j2远程代码执行漏洞(CNVD-2021-95914)。攻击者利用该漏洞,可在未授权的情况下远程执行代码,获得目标服务器权限。目前,漏洞利用细节已公开,Apache官方已发布补丁修复该漏洞。CNVD建议受影响用户立即更新至最新版本,同时采取防范性措施避免漏洞攻击威胁。
https://www.cert.org.cn/publish/main/8/2021/20211210110550958546708/20211210110550958546708_.html

服务器上有Apache服务,因此想办法修复补丁。在https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2找到了源码,拿下来不会编译,百度搜了下,找到了一个好用的答案。

好用的编译方法

主要步骤

安装apache-maven-3.6.3

cd /opt
wget https://mirrors.ocf.berkeley.edu/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz --no-check-certificate
mkdir /opt/maven
tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /opt/maven

下载编译好的JDK

需要提前下载并解压JDK8, JDK9.0.4, JDK11.0.13

环境配置

要用Java1.8的环境
vim /etc/profile 编辑

### 复现 FastJSON 反序列化远程代码执行漏洞 CNVD-2020-30827 #### 准备工作 为了复现此漏洞,需准备以下条件: - 使用受影响版本的 FastJSON 库(<= 1.2.64),因为这些版本存在反序列化过程中处理 `@type` 字段的安全缺陷[^1]。 - 构建一个能够接收 JSON 输入的应用程序接口。 #### 漏洞原理说明 FastJSON 在解析含有 `@type` 的 JSON 数据时会尝试实例化对应的 Java 类对象。如果应用程序允许不受信任的数据源提供此类输入,则可能触发任意代码执行。特别是当开启 autotype 功能后,风险显著增加,攻击者可以通过精心构造的 payload 实现 RCE (Remote Code Execution)。 #### 利用过程描述 构建恶意负载的关键在于找到合适的 gadget chain 来达成最终的目标——执行任意命令。对于 CNVD-2020-30827 特定情况而言,通常涉及利用某些标准库中的类作为起点,比如 JdkSerializeRMI 或其他能间接导致 shell 命令被执行的方法路径。 具体来说,可以创建如下结构的 JSON 负载用于测试目的(请注意这仅限于合法授权下的安全研究环境内操作): ```json { "@type": "java.net.InetAddress", "val": "localhost" } ``` 上述例子展示了最基础形式之一;实际攻击场景下可能会更加复杂,并且依赖具体的业务逻辑以及可用 gadgets 组合而成更强大的链路来完成整个攻击面覆盖。 #### 安全建议 鉴于该类型的漏洞可能导致严重的安全隐患,在生产环境中应严格限制对外部可控数据使用 FastJSON 进行反序列化操作,并及时升级至官方发布的最新稳定版以获得必要的修复补丁和支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EmmettPeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值