記一次對ctf試題中對git文件泄露的漏洞的挖掘


拿到題,先f12查看代碼

 

 

 

 

發現情況直接進行訪問

最后試了發現flag.js可以訪問  服務器返回了如下圖所示的亂碼

 

 

 很顯然有可能是git泄露  話不多說,直接利用https://github.com/gakki429/Git_Extract這個工具下載泄露的文件

 

 

 在這要強調一下  我在這入坑了  本題考查的是對git/logs/HEAD文件的利用,而githack並沒有對其中的hash提取,因此遺漏了部分的object,要用Git_Extract來實現

 

 

 用diff對flag.js和flag.js.04bb09進行對比,發現答案flag  繼續對比下去,找到不同  那就是答案

 

 

 最終flag{82efc37f1cd5d4636ea7cadcd5a814a2}

總結:在powershell中使用GitHack的命令GitHack.py http://XXXXXXXXXXX/.git/

當前大量開發人員使用git進行版本控制,對站點自動部署。如果配置不當,可能會將.git文件夾直接部署到線上環境。這就引起了git泄露漏洞。

GitHack是一個.git泄露利用測試腳本,通過泄露的文件,還原重建工程源代碼。

Git信息泄露的危害很大,滲透測試人員、攻擊者,可直接從源碼獲取敏感配置信息(如:郵箱,數據庫),也可以進一步審計代碼,挖掘文件上傳、SQL注射等安全漏洞。FreeBuf之前也有相關報道,點我圍觀

工作原理

1、解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 )
2、去.git/objects/ 文件夾下下載對應的文件
3、zlib解壓文件,按原始的目錄結構寫入源代碼

優點

速度快,默認20個工作線程
盡量還原所有的源代碼,缺失的文件不影響腳本工作
腳本不需要執行額外的git命令,all you need is python
腳本無需瀏覽目錄

可能的改進

存在文件被gc打包到git\objects\pack的情況,稍后可測試下看能否直接獲取並解壓這個文件,還原源代碼

用法示例

GitHack.py http://xxxxxxxx/.git/

執行中截圖:

執行結果:

獲取代碼:https://github.com/lijiejie/GitHack


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM