ctfhub技能树—信息泄露—git泄露—Stash

git stash 的作用
git stash用于想要保存当前的修改,但是想回到之前最后一次提交的干净的工作仓库时进行的操作.git stash将本地的修改保存起来,并且将当前代码切换到HEAD提交上.

通过git stash存储的修改列表,可以通过git stash list查看.git stash show用于校验,git stash apply用于重新存储.直接执行git stash等同于git stash save.

最新的存储保存在refs/stash中.老的存储可以通过相关的参数获得,例如[email protected]{0}获取最新的存储,[email protected]{1}获取次新[email protected]{2.hour.ago}获取两小时之前的.存储可以直接通过索引的位置来获得[email protected]{n}.

git stash的概念理解
git stash的每个存储单元在工作仓库中是通过commit的形式由树结构展示的.它的根节点是HEAD所在的提交
ctfhub技能树—信息泄露—git泄露—Stash
1.打开题目环境
ctfhub技能树—信息泄露—git泄露—Stash2.使用githack工具进行扫描,如何使用可以百度一下,或者看我上一篇文章有提到。
ctfhub技能树—信息泄露—git泄露—Stash
3.扫描完成后,在目录里面会生成一个新的文件,进去之后按住shift单机鼠标右键选择git base here,执行git stash list :查看stash了哪些存储。
ctfhub技能树—信息泄露—git泄露—Stash4.执行git stash pop

恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即[email protected]{0},如果要应用并删除其他stash,命令:git stash pop [email protected]{$num} ,比如应用并删除第二个:git stash pop [email protected]{1})

ctfhub技能树—信息泄露—git泄露—Stash5.目录下生成了新的txt文件 ,我们查看获取flag。ctfhub技能树—信息泄露—git泄露—Stash