GitHack:一個git泄露利用腳本

GitHack:一個git泄露利用腳本

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

作者:exploit.py來源:FreeBuf|2015-04-30 08:03

免責聲明:本站提供安全工具、程序(方法)可能帶有攻擊性,僅供安全研究與教學之用,風險自負!

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

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

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

工作原理

1、解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 )

2、去.git/objects/ 文件夾下下載對應的文件

3、zlib解壓文件,按原始的目錄結構寫入源代碼

優點

速度快,默認20個工作線程

儘量還原所有的源代碼,缺失的文件不影響腳本工作

腳本不需要執行額外的git命令,all you need is python

腳本無需瀏覽目錄

可能的改進

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

用法示例

GitHack.py http://www.openssl.org/.git/

執行中截圖:


執行結果:


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

參考資料

Git Index Formart

非常感謝 sbp 的 gin – a Git index file parser,腳本中使用了他的解析代碼,爲適用python 2.x和Windows作了細微的改動

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章