信息泄露2-git泄露(githack工具的利用+git reset+git stash+dirsearch工具扫描git漏洞命令)

一.题目链接:

https://www.ctfhub.com/#/skilltree
这里还是照样把git下面的所有题目全都解出来

二.基础知识  

2.1 git漏洞

2.2.git reset 回退版本

  参考链接:
  https://www.runoob.com/git/git-reset.html

2.3.git stash

  • 概念:它会保存当前的工作进度,会把暂存区和工作区的改动保存到一个未完结变更的堆栈中;执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动。

三.开始解题

3.1.log

0.安装githack工具的命令:git clone https://github.com/BugScanTeam/GitHack
1.用下面的命令进行扫描,扫描后会出现一个存储结果的地方,进入查看

cd /githack 
python2 GitHack.py http://challenge-a3d8986becd4c61a.sandbox.ctfhub.com:10800/.git/


2.通过git log查看历史记录,发现add flag很可疑

3.通过观察日志信息,发现再第二次修改时add flag,说明我们所要的flag就在第二次修改时加入文件中,使用git reset 进行类似于回滚的操作,回到第二次修改的时候


4.然后我们就可以查到flag了

3.2.stash

这道题图片不粘贴了,因为步骤本来都写好了,电脑突然死机重启了,金币也不够折腾重开的,所以只讲思路和命令
1.根据题目提示的信息,这次肯定是要用到git方面的stash的知识,于这里可以用dirsearch 查看是否有./git的漏洞

dirsearch -u url -e * -x 300-399,400-499,500-599

2.根据显示的结果,可知道存在.git漏洞,于是我们还和上一道题目一样,先通过githack扫描

python2 GitHack.py 你的url/.git/

3.然后我们进入到该路径下面查看

cd 生成的路径

4.接下来按照这个步骤来还原之前的flag文件,还原后,我们就可以通过cat 文件名得到flag了

git stash list #查看stash了哪些存储
git stash pop  #恢复之前的存储,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0}
cat flag文件名

3.3.index

1.步骤还是一样,就不用dirsearch 扫描了,直接用githack进行扫描

python2 GitHack.py 你的url/.git/

2.进入到该目录下,就能查看到了flag文件,更简单

posted @ 2025-04-23 13:20  sun010  阅读(156)  评论(0)    收藏  举报