當前大量開發人員使用git進行版本控制,對站點自動部署。如果配置不當,可能會將.git資料夾直接部署到線上環境。這就引起了git洩露漏洞。
2015-04-30 08:03收藏
分享
當前大量開發人員使用git進行版本控制,對站點自動部署。如果配置不當,可能會將.git資料夾直接部署到線上環境。這就引起了git洩露漏洞。
githack是乙個.git洩露利用測試指令碼,通過洩露的檔案,還原重建工程源**。
git資訊洩露的危害很大,滲透測試人員、攻擊者,可直接從原始碼獲取敏感配置資訊(如:郵箱,資料庫),也可以進一步審計**,挖掘檔案上傳、sql注射等安全漏洞。
工作原理
1、解析.git/index檔案,找到工程中所有的: ( 檔名,檔案sha1 )
3、zlib解壓檔案,按原始的目錄結構寫入源**
優點
速度快,預設20個工作執行緒
盡量還原所有的源**,缺失的檔案不影響指令碼工作
指令碼不需要執行額外的git命令,all you need is python
指令碼無需瀏覽目錄
可能的改進
存在檔案被gc打包到git\objects\pack的情況,稍後可測試下看能否直接獲取並解壓這個檔案,還原源**
用法示例
githack.py
執行中截圖:
執行結果:
獲取**:
參考資料
非常感謝 sbp 的 gin – a git index file parser,指令碼中使用了他的解析**,為適用python 2.x和windows作了細微的改動
乙個詭異的C 記憶體洩露問題。
delet被編譯成了兩個步驟 調相應析構函式,p指向的記憶體塊 即使父類沒宣告虛析構函式,第二步還是生效的,所以你derived的記憶體區是被正確 的,但derived的記憶體區域 std string 並不是連續區間,可能是這樣的東東 64byte ptr delet的第二步 的就只是這 64by...
從乙個git倉庫遷移到另外乙個git倉庫
我們平常可能會遇到git倉庫遷移的問題,現在把遷移方法備忘一下。1 先備份倉庫裸倉庫 git clone bare git bare 建立的轉殖版本庫都不包含工作區,直接就是版本庫的內容。2 在新的 倉庫上新建乙個倉庫。3 然後推送裸倉庫到新建的倉庫上 cd bak.git git push mir...
從乙個git倉庫遷移到另外乙個git倉庫
如果你想從別的 git 託管服務那裡複製乙份源 到新的 git 託管伺服器上的話,可以通過以下步驟來操作。從原位址轉殖乙份裸版本庫,比如原本託管於 github。設定網速 然後到新的 git 伺服器上建立乙個新專案,比如 gitcafe。以映象推送的方式上傳 到 gitcafe 伺服器上。刪除本地 ...