拿到題,先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/
執行中截圖:
執行結果: