正在阅读:

git信息泄露漏洞利用的一种特例

14,982

最近小弟的某猥琐朋友土豪授权检测一网站,结果发现了git信息泄露漏洞,立马使用李姐姐的脚本一通扫,结果全是404错误,无法利用。经过分析李姐姐的脚本,发现其原理是从存在git泄露的网站直接下载网站上已经存在的某目录内的文件,而授权的目标站没有这些文件,所以脚本报错了,那么是否有一种办法可以实现本地还原这些文件然后实现解密?

lijiejie的git信息泄露利用工具:

https://github.com/lijiejie/GitHack

接下来我们来分析一下关键代码:

git1

1、首先会从目标网站下载/index 这个文件,然后利用lib中的parser解析器解码,得到sha1和文件名

2、从objects目录下载相应的文件,得到返回数据后使用zlib解码。

git2

今天要讲的情况是git只泄露项目压缩包,没有解压项目文件的情况下获取源码,如下:

git3_1

首先下载压缩包pack文件回本地:

git3

使用git unpack-objects命令本地解压:

在解压前,要先初始化一个git仓库git init ,然后再执行git unpack-objects

git init
git unpack-objects<pack-xxxxxxxxxxxxxxxxxxxxxxxx.pack

git4

解压还原成项目文件:

git5

修改lijiejie的GitHack.py,修改远程url读取为本地读取:

git6

为了让大家练习一下python编程,此次就不直接贴代码了,大家还是照着写一次吧。。哈哈。

成功还原出源代码:

git7

git8

使用的时候,请先下载李姐姐的GitHack,将lib目录复制到objects目录中,然后手工打上面的代码,保存为xxoo.py 执行即可。

本文中的代码,多处参考了李姐姐大牛的代码,在此多谢。

目前有:3条访客评论,博主回复1

  1. asd
    2017-08-18 09:55

    6666强

  2. 王一航
    2017-09-28 08:18

    wow , 可以直接推荐一个工具嘛 ?
    https://github.com/WangYihang/GitHacker
    一个 Git 源码泄露利用工具 , 可恢复整个 Git 仓库 , 用于白盒审计以及分析开发者的思维
    完美解决这个问题
    https://github.com/WangYihang/Awesome-Web-Security-Tools

  3. a
    2018-10-17 09:05

    厉害

留下脚印,证明你来过。

*

*

流汗坏笑撇嘴大兵流泪发呆抠鼻吓到偷笑得意呲牙亲亲疑问调皮可爱白眼难过愤怒惊讶鼓掌