bugku web git泄露
今天接触到的是关于git泄露的题目
也是第一次接触git,去查了点资料和大佬的评论
关于原理可以去看一下这篇大佬的文章
git信息泄露漏洞(git相关原理和命令操作)
用f12查看代码,里面注释提示tig猜是git(当然也有个假代码,傻傻的我拿去解密了)
那猜想应该是git泄露
先利用命令
wget -r http://ip_address/.git
下载该网站目录下的.git文件
然后
cd ip_address/.git
进入该git仓库
通过
git reflog
查看日志的提交信息和撤回信息(相当于显示全部记录)
可以看到提交有关flag的文件有三次
可以通过
git show head(也就是相应的head的hash)
好吧这家伙是假货。
但是查看到第二次提交的时候就是真正的flag。
总结
了解相应的git原理
(以下是我现在的理解)
git是一个版本控制系统,目前有大量的开发人员使用git进行版本开发
git中文件可能处于一下状态
1.已修改
2.已暂存
3.已提交
而各个仓库是成树状结构,有一个master主干(我认为一般是最新的版本),而其他分支的仓库存放的数据记录则是之前提交的记录。
相当于一个倒的树状时间线,各个分支是过去时间段所提交的数据,而唯一的时间主干线就是master。大家都是对它进行提交。
我们可以通过查询每次提交的commit的tag hash(前六位即可)去查询过去提交的文件或者回提的文件。