GitHack:一個git泄露利用腳本
免責聲明:本站提供安全工具、程序(方法)可能帶有攻擊性,僅供安全研究與教學之用,風險自負!
當前大量開發(fā)人員使用git進行版本控制,對站點自動部署。如果配置不當,可能會將.git文件夾直接部署到線上環(huán)境。這就引起了git泄露漏洞。
GitHack是一個.git泄露利用測試腳本,通過泄露的文件,還原重建工程源代碼。
Git信息泄露的危害很大,滲透測試人員、攻擊者,可直接從源碼獲取敏感配置信息(如:郵箱,數(shù)據(jù)庫),也可以進一步審計代碼,挖掘文件上傳、SQL注射等安全漏洞。
工作原理
1、解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 )
2、去.git/objects/ 文件夾下下載對應的文件
3、zlib解壓文件,按原始的目錄結(jié)構(gòu)寫入源代碼
優(yōu)點
速度快,默認20個工作線程
盡量還原所有的源代碼,缺失的文件不影響腳本工作
腳本不需要執(zhí)行額外的git命令,all you need is python
腳本無需瀏覽目錄
可能的改進
存在文件被gc打包到git\objects\pack的情況,稍后可測試下看能否直接獲取并解壓這個文件,還原源代碼
用法示例
GitHack.py http://www.openssl.org/.git/
執(zhí)行中截圖:
執(zhí)行結(jié)果:
獲取代碼:https://github.com/lijiejie/GitHack
參考資料
非常感謝 sbp 的 gin – a Git index file parser,腳本中使用了他的解析代碼,為適用python 2.x和Windows作了細微的改動