.git原始碼洩露
阿新 • • 發佈:2019-01-10
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的情況,稍後可測試下看能否直接獲取並解壓這個檔案,還原原始碼