1、log
第一步:
点击进入靶场
第二步:
使用dirsearch 工具进行目录扫描发现许多.git
第三步:
使用GitHack工具获取.git
python2 GitHack.py http://challenge-5419b9e8f8d29f01.sandbox.ctfhub.com:10800/.git/
保存在了/root/GitHack-master/dist/challenge-e713a8245931ce60.sandbox.ctfhub.com_10800目录下
第四步:
进入到/root/GitHack-master/dist/challenge-e713a8245931ce60.sandbox.ctfhub.com_10800文件下,使用命令ls -a发现.git,使用git log查看git历史记录,发现当前所处的版本为 remove flag,flag 在 add flag 这次提交中
第五步:
方法一:
使用git diff查看版本差异,发现flag
方法二:
使用git reset –hard重置到之前版本分支
2、Stash
第一步:
点击进入靶场
第二步:
使用GitHack工具获取.git
python2 GitHack.py http://challenge-b77a66ae2e40a5ca.sandbox.ctfhub.com:10800/.git
保存在了/root/GitHack-master/dist/challenge-b77a66ae2e40a5ca.sandbox.ctfhub.com_10800目录下
第三步:
进入到/root/GitHack-master/dist/challenge-b77a66ae2e40a5ca.sandbox.ctfhub.com_10800
第四步:
使用git log查看git历史记录,发现当前所处的版本为 remove flag,flag 在 add flag 这次提交中,使用git diff查看日志对比,并没有得到flag
第五步:
使用git stash pop还原最近的stash
git stash list:查看所有已保存的 stash 列表
git stash pop:恢复最近一次记录(stash),并从 stash 列表中移除该 stash,可以通过指定 stash 的名称(哈希值的前几个字符)来选择特定的 stash 进行应用
第六步:
查看被还原的文件,得到flag
3、Index
第一步:
点击进入靶场
第二步:
使用GitHack工具获取.git
python2 GitHack.py http://challenge-c91f42654514cab4.sandbox.ctfhub.com:10800/.git
保存在了/root/GitHack-master/dist/challenge-c91f42654514cab4.sandbox.ctfhub.com_10800目录下
第三步:
进入/root/GitHack-master/dist/challenge-c91f42654514cab4.sandbox.ctfhub.com_10800目录
第四步:
使用使用git log查看git历史记录,使用git diff比较不同版本下的文件差异,生成了一个txt,查看txt得到flag