Git 仓库介绍
1.Git仓库是一个开源分布式版本控制系统,可有效告诉处理从很小到非常大的项目版本管理。
2. 可以通过git init创建一个仓库。
Git 信息泄露原理
通过泄露的.git文件夹下的文件,还原重建工程源代理。
1.解析.git/index文件,找到工程中的所有:(文件名.文件shu1)
2.去.git/objects/文件夹下下载对应的文件
3.zlib解压文件,按原始的目录结构写入源代码
Git实验环境搭建(一下实验显示均在kali上进行)
将git init目录下的内容部署到http服务器上,保留.git目录,git add 文件名,git commit -m “版本信息”
1.选择建立仓库的文件位置 (最好是在/var/www/html 下)
首先在kali中以root身份进入
2.启动apache,且查看是否启动且显示启动信息
3.新建文件夹(创建仓库用)
4.创建仓库(存放在刚新建的文件夹中),且查看是否有.git文件
5.查看具体信息 (主要ip地址,这个Ip地址可以在浏览器中访问可查看.git文件信息)
这里面主机ip是192.168.65.135,你可以在浏览器中访问
现在可以在kali中查看.git中的文件是否与浏览器中的.git文件一致
结果是与浏览器中内容一致。
6.在新建一个flag.txt文件(这个随便写内容)
创建文件的时候也可以用gedit 文件名创建
7.将刚创建的文件添加到暂存区并进行提交
Git信息泄露利用
1.下载:git clone https://github.com/lijiejie/GitHack.git
下载好后直接在根目录下用ls显示
使用python GitHack.py http://192.168.65.120/git_test/.git 编译
2.进入GitHack ,后使用。
(GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注射等安全漏洞。)
GitHack的使用 GitHack.py http://XXXXXXXXXXX/.git/
最后,我们就用GitHack找到了我们隐秘文件flag.txt。