Jenkins反序列化漏洞复现

Jenkins

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins功能包括:

  • 持续的软件版本发布/测试项目。
  • 监控外部调用执行的工作。

Jenkins曾经发生的反序列化漏洞:

  • CVE-2015-8103
  • CVE-2016-9299
  • CVE-2017-1000353
  • CVE-2018-1000861

Jenkins远程命令执行漏洞(CVE-2018-1000861)

Jenkins使用Stapler框架开发,其允许用户通过URL PATH来调用一次public方法。由于这个过程没有做限制,攻击者可以构造一些特殊的PATH来执行一些敏感的Java方法。

通过这个漏洞,我们可以找到很多可供利用的利用链。其中最严重的就是绕过Groovy沙盒导致未授权用户可执行任意命令:Jenkins在沙盒中执行Groovy前会先检查脚本是否有错误,检查操作是没有沙盒的,攻击者可以通过Meta-Programming的方式,在检查这个步骤时执行任意命令。

Jenkins-CI 远程代码执行漏洞(CVE-2017-1000353)

漏洞描述:该漏洞存在于使用HTTP协议的双向通信通道的具体实现代码中,jenkins利用此通道来接收命令,恶意攻击者可以构造恶意攻击参数远程执行命令,从而获取系统权限。

漏洞影响版本

原文地址:https://www.cnblogs.com/csnd/p/11807613.html