搜尋
首頁運維安全Gogs任意使用者登入漏洞實例分析

一、    漏洞背景

Gogs 是一款類似GitHub的開源檔案/程式碼管理系統(基於Git),Gogs 的目標是打造一個最簡單、最快、最輕鬆的方式來搭建自助Git服務。使用 Go 語言開發使得 Gogs 能夠透過獨立的二進位分發,並且支援 Go 語言支援的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。

二、    漏洞描述

gogs是一款極易搭建的自助Git服務平台,具有易於安裝、跨平台、輕量級等特點,使用者眾多。其0.11.66及以前版本中,(go-macaron/session庫)沒有對sessionid進行校驗,攻擊者利用惡意sessionid即可讀取任意文件,透過控製文件內容來控制session內容,進而登入任意帳戶。

三、    影響版本

影響版本如下:

Gogs 0.11.66及之前的版本

四、    漏洞重複

(1)    利用ubuntu虛擬機器docker克隆vulhub上gogs環境

(2)    執行下列指令啟動gogs:docker-compose up -d

(3)    環境啟動後,存取http: //192.168.49.103:3000/install,即可看到安裝頁面。安裝時選擇sqlite資料庫,並開啟註冊功能。

 Gogs任意使用者登入漏洞實例分析

 Gogs任意使用者登入漏洞實例分析

(4)使用Gob序列化產生session檔案data。

(5)然後註冊一個普通使用者帳戶,建立項目,並在「版本發布」頁面上傳剛產生的session檔案。

 Gogs任意使用者登入漏洞實例分析

(6)透過這個附件的URL,得知這個文件的檔案名稱:./attachments/2eb7f1a2-b5ec-482e-a297-15b625d24a10。然後,建構Cookie:i_like_gogits=../attachments/2/e/2eb7f1a2-b5ec-482e-a297-15b625d24a10,造訪即可發現已成功登入id=1的使用者(即root管理員)

Gogs任意使用者登入漏洞實例分析

#五、    漏洞分析利用

首先, 對於每個使用者, 我們都可以建立倉庫, 透過release功能可以上傳任意內容可控的檔案, 從而為我們偽造session文件提供了條件.

透過explore功能, 我們能找到很多用戶的倉庫, 進入某用戶的用戶資料頁面, 我們可以得到構造該用戶session的所有需要​​的資料(uid, username).

 Gogs任意使用者登入漏洞實例分析

透過上方file.go的程式碼, 我們發現, session檔案的內容為Gob編碼方式, 借鑒P牛寫的生成session的payload。

 Gogs任意使用者登入漏洞實例分析

由此, 我們可以產生一段session, 透過每個使用者皆可使用的release上傳功能, 我們將我們偽造的session上傳至伺服器。

預設配置的gogs,release中檔案存放的目錄結構是attachments/fid[0]/fid[1]/fid。 session存放的目錄結構是sessions/sid[0]/sid[1]/sid。此外sessions與attachments資料夾均存放在相同的data資料夾下。

 Gogs任意使用者登入漏洞實例分析

因為gogs會將session分段, 建構成最終的路徑後再進行讀取, 而attachments與session在同一資料夾下, 修改session為我們剛剛上傳的檔案的路徑, 即../attachments/1/7/17f4120b-1a0d-416a-b0b0-def4342ded5b, session的函數將路徑解析為sessions/././../attachments/1/7/17f4120b -1a0d-416a-b0b0-def4342ded5b也就是我們上傳的那個檔案, 最終完成任意使用者登陸。

六、    修復建議

Gogs可至Github下載編譯develop分支,在該分支中此漏洞已修復,或升級至最新版本的Gogs。

以上是Gogs任意使用者登入漏洞實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境