top of page

Jenkins 任意文件讀取 CVE-2024-23897

作家相片: Timmy TSENGTimmy TSENG


Jenkins文件讀取漏洞(CVE-2024-23897)

漏洞原理

  • Jenkins通过命令行接口允许使用jenkins-cli.jar客户端执行功能。

  • 服务端解析命令行时,使用第三方库args4j,该库支持@符号引导的文件名作为参数值。

  • 此特性导致Jenkins在服务端解析命令行参数时可能出现文件读取漏洞。

Jenkins權限系統

  • Jenkins默认的权限方案包括“任何人都可以做任何事”、“只有登录用户可以做任何事”等。

  • 对于“匿名用户可读”选项,默认关闭,影响部分CLI命令的使用。

  • 特殊命令(如help和who-am-i)无需权限即可执行。

如何讀取想要的內容

  • 利用args4j处理@符号时的特性,可以读取文件内容。

  • 文件内容通过命令行参数传递,但空白字符会分割参数。

  • 使用特定命令(如connect-node和reload-job)可读取完整文件内容。

了解Jenkins敏感文件

  • Jenkins的敏感文件通常位于/var/jenkins_home目录。

  • 通过读取/proc/self/environ和/proc/self/cmdline文件,可以找到Jenkins根目录。

  • 敏感文件包括用户配置文件、密钥文件等。

讀取用戶密碼

  • 用户密码存储在/var/jenkins_home/users/目录下的XML文件中。

  • 可以获取用户密码的哈希值、用户Token。

Remember-Me Cookie的工作原理

  • Remember-Me Cookie由用户名、Token过期时间戳、userSeed和Key组成。

  • Key来源于/var/jenkins_home/secret.key文件。

二進制文件讀取問題

  • 读取二进制文件(如hmac salt)时,可能由于字符集问题导致数据损坏。

  • 在UTF-8字符集下,可能无法正确读取所有二进制文件内容。

總結

  • 漏洞利用受限于“匿名用户可读”选项和服务端字符集兼容性。

  • 攻击者可能无法伪造任意用户的Remember-Me Cookie。

  • 漏洞细节可能因Jenkins版本和环境而异。

利用腳本


26 次查看0 則留言

最新文章

查看全部

Excel Word zip 7z等檔案密碼破解收費方式

本站使用GPU顯卡密碼破解可大幅加快破解速度 可支持中文字典方式密碼破解請TG詳談 詳細請TG聯繫詳談:jimmygou0302 密碼破解教學請看此篇文章 https://www.pentesthome.com/profile/qoo7972365/profile

Comentários


bottom of page