漏洞介绍
Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等,发布代码的时候如果没有把.git这个目录删除直接发布到服务器上攻击者就可以通过它来恢复源代码
利用工具
项目地址:GitHub - lijiejie/GitHack: A `.git` folder disclosure exploit
工具原理:
- 解析.git/index文件,找到工程中所有的(文件名,文件sha1)
- 去.git/objects/文件夹下下载对应的文件
- zlib解压文件并按原始的目录结构写入源代码
用法示例:
python3 GitHack.py http://www.openssl.org/.git/