欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:git泄露

柚子快報激活碼778899分享:git泄露

http://yzkb.51969.com/

目錄

一、漏洞形成的原因

二、判斷是否存在git泄露

三、漏洞的危害

四、git的結(jié)構(gòu)

五、一些常用的命令

六、git的一些命令演示

git log?//查看提交歷史記錄,從最近到最遠,可以看到3次?

?git reflog?//查看每一次修改歷史

git remote -v //查看遠程倉庫信息

?七、相關(guān)例題(ctfhub)

Log

Stash(git的暫存文件)

Index(也可以理解為暫存文件)

一、漏洞形成的原因

開發(fā)人員會使用 git 進行版本控制,對站點自動部署。但如果配置不當,可能會將 .git 文件夾直接部署到線上環(huán)境,這就引起了 git 泄露漏洞,我們可以利用這個漏洞直接獲得網(wǎng)頁源碼。

二、判斷是否存在git泄露

利用 dirsearch這類掃描工具,如果存在./git泄露的問題的話,會被掃描出來的

三、漏洞的危害

攻擊者利用該漏洞下載.git文件夾中的所有內(nèi)容。如果文件夾中存在敏感信息(數(shù)據(jù)庫賬號密碼、源碼等),通過白盒的審計等方式就可能直接獲得控制服務(wù)器的權(quán)限和機會!

四、git的結(jié)構(gòu)

Git大體上分為四個結(jié)構(gòu):工作區(qū),暫存區(qū),本地倉庫(版本庫),遠程倉庫

(1)工作區(qū)

所謂工作區(qū),就是項目放置的位置。直白的說就是 .git 所在文件夾,就是你的工作區(qū) (2)暫存區(qū)

暫存區(qū)英文叫 stage 或 index。一般存放在 .git 目錄下的 index 文件(.git/index)中,所以我們把暫存區(qū)有時也叫作索引(index) (3)本地倉庫

本地倉庫(版本庫)用于存儲各種版本(分支)的信息。直接點,.git 文件就是你的版本庫,其中有一個 HEAD 文件,存儲著用于指向當前分支的游標,通過這個游標就可以切換到版本庫中存儲的各個版本 (4)遠程倉庫

這個很好理解,就是一個服務(wù)器存貯著你的各種項目,像國內(nèi)的 gitee ,國外的 github , gitlab 等等

.git目錄:使用git init初始化git倉庫的時候,生成的隱藏目錄,git會將所有的文件,目錄,提交等轉(zhuǎn)化為git對象,壓縮存儲在這個文件夾當中。

COMMIT_EDITMSG:保存最新的commit message,Git系統(tǒng)不會用到這個文件,用戶一個參考文件

config:Git倉庫的配置文件

description:倉庫的描述信息,主要給gitweb等git托管系統(tǒng)使用

HEAD:這個文件包含了一個檔期分支(branch)的引用,通過這個文件Git可以得到下一次commit的parent

hooks:這個目錄存放一些shell腳本,可以設(shè)置特定的git命令后觸發(fā)相應(yīng)的腳本;在搭建gitweb系統(tǒng)或其他

git托管系統(tǒng)會經(jīng)常用到hook script(鉤子腳本)

index:這個文件就是我們前面提到的暫存區(qū)(stage),是一個二進制文件

info:包含倉庫的一些信息

logs:保存所有更新的引用記錄

objects:所有的Git對象都會存放在這個目錄中,對象的SHA1哈希值的前兩位是文件夾名稱,后38位作為對象文件名

refs:這個目錄一般包括三個子文件夾,heads、remotes和tags,heads中的文件標識了項目中的各個分支指向的當前commit

ORIG_HEAD:HEAD指針的前一個狀態(tài)

五、一些常用的命令

git init 初始化一個git倉庫

git add && git commit //git 添加文件和提交文件

git status 查看當前倉庫狀態(tài)和內(nèi)存狀態(tài)

git ls-files -u 顯示沖突的文件,-s是顯示標記為沖突已解決的文件

git diff 對比工作區(qū)和stage文件的差異

git diff -cached 對比stage和branch之間的差異

git ls-files -stage 檢查保存在stage的文件

git log 顯示到HEAD所指向的commit為止的所有commit記錄

git reset -hard HEAD放棄工作區(qū)和index的改動,HEAD指針仍然指向當前的commit

六、git的一些命令演示

下載git參考資料:kali下載使用GitHack_kali下載使用githack_kali安裝gitclone-csdn博客-CSDN博客

git命令的參考資料:

GIT常用命令大全——趕緊收藏_git命令大全-CSDN博客

1.把文件添加add和提交commit到版本庫:

把文件添加add和提交commit到版本庫?

$ git add test.txt?? ?//添加 $ git commit -m "wrote a test file"?? ?//提交 $ git commit -m "add 3 files."?? ??? ?//一次性提交多個文件

注意:必須在當前版本庫和當前目錄下

2.版本控制:(加粗加紅的是常用的)

$ git log?? ?//查看提交歷史記錄,從最近到最遠,可以看到3次,查看commit提交的歷史數(shù)據(jù),git log默認會輸出commit hash, author, date, commit message。

git diff HEAD:顯示工作目錄(已track但未add文件)和暫存區(qū)(已add但未commit文件)與最后一次commit之間的的所有不相同文件的增刪改。 $ git log --pretty=oneline?? ?//加參,簡潔查看 $ git reflog?? ?//查看每一次修改歷史 $ cat test.txt?? ?//查看文件內(nèi)容 $ git status?? ?//查看工作區(qū)中文件當前狀態(tài)$ git reset --hard HEAD^(HEAD~100)(commit id)?? ?//回退版本 $ git checkout -- test.txt?? ?//丟棄工作區(qū)的修改,即撤銷修改 $ git reset HEAD test.txt?? ?//丟棄暫存區(qū)的修改(若已提交,則回退)?

3.遠程倉庫:

$ ssh-keygen -t rsa -C "youremail@example.com"?? ?//創(chuàng)建SSH Key $ git remote add origin git@github.com:Daisy/AKgit.git?? ?//關(guān)聯(lián) $ git push -u origin master?? ?//將本地內(nèi)容推送到遠程倉庫(第一次) $ git push origin master?? ?//將本地內(nèi)容推送到遠程倉庫(之后) $ git remote -v ? ? ? ?//查看遠程倉庫信息 $ git remote rm origin?? ?//刪除遠程倉庫(解綁) $ git clone git@github.com: Daisy/AKgit.git?? ?//克隆遠程倉庫 //克隆之后使用和查看 $ cd gitskills $ ls $ git remote?? ?//查看遠程庫的信息 $ git remote -v?? ?//查看遠程庫的詳細信息

4.$ git stash?? ?//將現(xiàn)場儲藏起來$ git stash list?? ?//查看儲存的工作現(xiàn)場,列?出Git棧內(nèi)的所有備份,可以利用這個列表來決定從那個地方恢復

//恢復和刪除

$ git stash apply $ git stash drop //恢復并刪除$ git stash pop??從Git棧中讀取最近一次保存的內(nèi)容,恢復工作區(qū)的相關(guān)內(nèi)容。由于可能存在多個Stash的內(nèi)容,所以用棧來管理,pop會從最近的一個stash中讀取內(nèi)容并恢復。

$ git cherry-pick 4c805e2?? ?//復制修改?

git log?//查看提交歷史記錄,從最近到最遠,可以看到3次?

?

?git reflog?//查看每一次修改歷史

?

git remote -v //查看遠程倉庫信息

??

?七、相關(guān)例題(ctfhub)

Log

?1.使用dirsearch掃描,發(fā)現(xiàn)有g(shù)it泄露

??2.先用cd命令進入githack,進入Githack目錄:python2 GitHack.py,再對網(wǎng)站進行處理

??

3.用git log查看提交歷史記錄

??

??4.使用git diff來文件對比 或者用git reset回退文件版本,去文件夾中打開文件發(fā)現(xiàn)flag?

???

Stash(git的暫存文件)

1.使用disearch掃描,發(fā)現(xiàn)有g(shù)it漏洞

2.使用GitHack克隆目錄

??

3.進入新文件后,與上題一樣,先用git log查看提交歷史記錄發(fā)現(xiàn)了add flag的歷史,但是發(fā)現(xiàn)使用git reset回退文件版本與git diff進行文件對比均無法得到flag。

??

4.于是可使用git stash pop提取git的暫存文件

git stash ? ? ? //備份當前工作區(qū)的內(nèi)容,保存到git棧中,從最近的一次commit中讀取相關(guān)內(nèi)容 git stash pop ? //從git棧中獲取到最近一次stash進去的內(nèi)容,恢復工作區(qū)的內(nèi)容。獲取之后,會刪除棧中對應(yīng)的stash

??

Index(也可以理解為暫存文件)

1.掃描成功后githack生成一個文件夾dist,里面直接存放有重新生成的flag文件

??

注意:index雖然也是暫存文件,但是使用git log查看提交歷史記錄,發(fā)現(xiàn)指針直接指向add flag的分支,故查看目錄文件直接有flag。

???

柚子快報激活碼778899分享:git泄露

http://yzkb.51969.com/

推薦文章

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/18852492.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄