官方背景:https://github.com/vulhub/vulhub/blob/master/jenkins/CVE-2024-23897/README.zh-cn.md
Jenkins是一个开源的自动化服务器。
Jenkins使用args4j来解析命令行输入,并支持通过HTTP、Websocket等协议远程传入命令行参数。args4j中用户可以通过@字符来加载任意文件,这导致攻击者可以通过该特性来读取服务器上的任意文件。
该漏洞影响Jenkins 2.441及以前的版本。
漏洞复现
- 启动服务
docker compose up -d
发现之前有wordpress的服务占了8080端口,在该漏洞的目录下修改docker-compose.yml文件
将映射的端口改为8888
访问成功的页面如下:
2.利用其原理,下载官方提供的命令行客户端,在http://192.168.190.136:8888/jnlpJars/jenkins-cli.jar下载。使用该工具可以读取目标服务器的/proc/self/environ文件——找到Jenkins的基本目录:JENKINS_HOME=/var/jenkins_home
<