一、常规git泄露
常规 git 泄露:即没有任何其他操作,参赛者通过运用现成的工具或自己编写的脚本即可获取网站源码或者 fag。可以使用scrabble工具(不要忘了需要先进入scrabble所在目录)查看网站源码。
/scrabble url
二、git回滚
git 作为一个版本控制工具,会记录每次提交(commit)的修改,所以当题目存在泄露时,flag(敏感)文件可能在修改中被删除或被覆盖了,这时我们可以利用 git 的git reset恢复到以前的版本。
我们先利用 scrabble 工具获取源码,再通过“git reset --hard HEAD”命令跳到上一个版本,(HEAD是指上一个版本名),即可获取到源码。
除了使用“git reset”,更简单的方式是通过“git log-stat”命令查看每个 commit 修改了哪些文件,再用“git diff commit-id1 commit-id2”比较在当前版本与想査看的 commit 之间的变化。
三、git分支
在每次提交时,git 都会自动把它们串成一条时间线,这条时间线就是一个分支。而git允许使用多个分支,从而让用户可以把工作从开发主线上分离出来,以免影响开发主线。如果没有新建分支,那么只有一条时间线,即只有一个分支,git 中默认为master分支。因此,我们要找的 fag 或敏感文件可能不会藏在当前分支中,这时使用“git log”命令只能找到在当前