Git信息泄露复现
复现漏洞前建议先学习一下Git基础再去复现,这样才会理解漏洞利用原理
漏洞介绍漏洞形成
在运行git init命令初始化仓库时会在工作目录下产生一个名为.git的文件夹,该文件夹是Git用来存储代码变更记录等。在没有删除该文件夹时就对代码进行发布,这就导致了.git目录泄露,可以利用该文件夹对源代码进行恢复
漏洞原理
通过泄露的.git文件夹下的文件,还原重建工程源文件
解析.git/index文件,找到工程中所有的文件名、文件sha1
去.git/objects文件夹下下载对应的文件
zlib解压文件,按原始的目录结构写入源代码
GitHack项目介绍
GitHack是一个git泄露测试脚本,可以通过泄露的文件重建还原工程源代码,代码运行在Python2
工作原理
尝试获取packs克隆
尝试历遍所有克隆
尝试从缓存文件index、commit记录中恢复
用法示例下载GitHack
12345# Github下载(较慢)git clone https://github.com/BugScanTeam/GitHack.git# 镜像Github下载(国内加速)git c ...