1. 程式人生 > >.git原始碼洩露

.git原始碼洩露

0X00 原理

在網站安全維護方面,git和svn資訊洩露是非常常見也是非常致命的一個漏洞。

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

GitHack是一個.git洩露利用指令碼,通過洩露的.git資料夾下的檔案,還原重建工程原始碼。

滲透測試人員、攻擊者,可以進一步審計程式碼,挖掘:檔案上傳,SQL注射等安全漏洞。

0X01 指令碼的工作原理

解析.git/index檔案,找到工程中所有的: ( 檔名,檔案sha1 )

去.git/objects/ 資料夾下下載對應的檔案

zlib解壓檔案,按原始的目錄結構寫入原始碼

0X02 它的優點:

速度快,預設20個工作執行緒

儘量還原所有的原始碼,缺失一部分檔案不影響指令碼工作

指令碼不需要執行額外的git命令,All you need is python

指令碼無需瀏覽目錄

0X03 可能的改進:

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

用法示例:
GitHack.py http://www.hoolai.com/.git/