信息泄露2-git泄露(githack工具的利用+git reset+git stash+dirsearch工具扫描git漏洞命令)
一.题目链接:
https://www.ctfhub.com/#/skilltree
这里还是照样把git下面的所有题目全都解出来
二.基础知识
2.1 git漏洞
- 产生:哟很多方面导致,可能没删除.git目录,可能没删除缓存,也可能没清除它的历史记录
- 如何利用:1.
GitHack:专门针对于.git漏洞,
参考链接:https://blog.csdn.net/2302_81178149/article/details/1427147142.2.git reset 回退版本
参考链接:
https://www.runoob.com/git/git-reset.html2.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文件,更简单


浙公网安备 33010602011771号