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

    CVE-2021-22205:Gitlab Exiftool RCE分析之二:從認證后RCE到未授權RCE之旅

    VSole2021-10-29 22:39:41

    認證后命令執行

    Gitlab本身包含圖片上傳功能,所以按照上文構造思路,很容易實現RCE。

    首先修改djvu命令為curl指令,生成文件后修改為圖片后綴名。

    使用用戶登錄Gitlab,新建一個工程。

    然后建一個issue,點擊`attach a new file`導入圖片,命令隨即被執行。

    新建issue和工程需要用戶權限,存在一定的限制。

    認證繞過探索

    通常來講,像Gitlab這樣通用的框架圖片上傳解析應該都是需要認證的,但是經過深入分析,發現了無需認證的接口。由于信息并沒有公開,這里嘗試利用自己的思路尋找一種無需認證圖片上傳的辦法,復盤整個漏洞分析過程。

    查閱Gitlab官方文檔:

    user_file_uploads.html
    https://docs.gitlab.com/ee/security/user_file_uploads.html

    在`Administrator users/User file uploads`中說明了用戶文件上傳的規則,其中`Non-image attachments do require authentication to be viewed`這句話顯得很突出。大體來說就是Gitlab為了支持電子郵件正文中圖片的處理,設計上認為圖片上傳無需用戶認證。

    從Gitlab官網下載v13.10.2-ce版本源碼,全文搜索`upload`和`user`字段,找到了`/uploads/user`接口:

    全文搜索`/uploads/user`,在routes.go中找到路由映射:

    按照`snippetUploadPattern`往后跟并沒有找到引用鏈,而`/uploads/user`接口處理代碼位于`uploads_controller`中。

    測試`/uploads/user/`GET請求返回404,但POST請求返回422錯誤:

    使用`gitlab-ctl tail`命令查看日志,顯示`InvalidAuthenticityToken`。

    搜索代碼,請求必須必須加上`HTTP_X_CSRF_TOKEN`。

    添加X-CSRF-TOKEN后顯示404:

    嘗試向該接口發送圖片文件,然后抓包修改報文,將登錄用戶的Cookie和XSRF-TOKEN設置好,詭異得返回了`Faild to Process image`,說明圖片已經被處理,而且不驗證傳輸文件的變量名:

    以上步驟還是需要用戶認證的,那么怎樣不需要認證呢。查看登錄頁面`/users/sign_in`,同樣返回了Cookie信息,且頁面中包含csrf-token:

    使用登錄頁面返回的Cookie值和csrf-token值,成功實現RCE。

    至此未授權圖片解析復現成功,進而實現RCE,這里就不進行代碼分析了,有興趣的小伙伴可以自行下載源代碼調試學習。

    漏洞修復

    主要修補了exif圖片處理模塊。

    修補后,請求返回404。

    最后記得升級GitLab到最新版本。

    gitlab
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    GitLab本周四緊急發布安全補丁,修復一個可讓攻擊者以其他用戶身份運行管道的嚴重漏洞。
    Gitlab是目前被廣泛使用的基于git的開源代碼管理平臺, 基于Ruby on Rails構建, 主要針對軟件開發過程中產生的代碼和文檔進行管理,同時可以搭建Web服務。
    CVSS v3.1 分數:10.0
    對此,安識科技建議廣大用戶及時升級到安全版本,并做好資產自查以及預防工作,以免遭受黑客攻擊。GitLab 主要對 group 和 project 兩個維度進行代碼和文檔管理。漏洞危害 攻擊者可利用該漏洞通過 GitHub API 構造惡意數據執行遠程代碼攻擊,最終獲取服務器最高權限。解決方案 當前官方已發布最新版本,建議受影響的用戶及時更新升級到最新版本。
    GitLab 禁用 Windows!
    2022-08-14 17:42:07
    作為 GitHub 的重要競爭對手,GitLab 自成立以來就一直與其在源碼庫市場上進行爭奪。出于對安全性的考慮,GitLab 認為務必要對員工電腦配置進行統一調整。與之相比,“macOS 和 Linux 則具有確保平臺安全穩定的能力”,滿足了 GitLab 的基本需求。
    Gitlab 被發現有一項禁止使用 Microsoft Windows 的公司政策。微軟旗下的 GitHub 是 Gitlab 最主要的競爭對手。
    GitLab 通過安全更新修復了帳戶接管高危漏洞 據Bleeping Computer網站6月3日消息,GitLab 為其社區版和企業版產品的多個版本發布了關鍵安全更新,以解決8個漏洞問題,其中一個為賬戶接管的高危漏洞。
    GitLab是一個基于Web的Git存儲庫,適用于需要遠程管理其代碼的開發人員團隊。它擁有大約3000萬注冊用戶和100萬付費客戶。
    GitLab的安裝和使用
    2022-05-08 07:13:44
    近期目標是整明白用GitLab玩兒CI/CD,本周先從安裝和使用開始, 安裝非常簡單,ubuntu20.04, curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash, sudo apt install gitlab-ce,
    GitLab 修復了一個高危漏洞,該漏洞影響 GitLab Community Edition (CE) 和 Enterprise Edition (EE),允許遠程攻擊者使用硬編碼密碼控制用戶賬號。硬編碼密碼 123qweQWE!@#000000000 是意外加入到代碼中,GitLab 督促用戶立即升級到最新的 14.9.2、14.8.5 或 14.7.7 版本以防止潛在的攻擊。它還重置了部分用
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类