[Zone-lijiejie]GitHack — 一个git泄露利用脚本

  • A+
所属分类:WooYun-Zone

原文:http://zone.wooyun.org/content/20082

当前大量开发人员使用git进行版本控制,对站点自动部署。  如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。

GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,还原重建工程源代码。

渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注射等安全漏洞。

脚本的工作原理

1. 解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 ) 
2. 去.git/objects/ 文件夹下下载对应的文件 
3. 使用zlib解压文件,按原始的目录结构写入源代码

它的优点

1. 速度快,默认20个工作线程 
2. 尽量还原所有的源代码,缺失一部分文件不影响脚本工作 
3. 脚本不需要执行额外的git命令,有python就够了

可能的改进
存在文件被gc打包到git\objects\pack的情况,稍后可测试下看能否直接获取并解压这个文件,还原源代码
用法示例
GitHack.py http://www.hoolai.com/.git/
执行中截图:

[Zone-lijiejie]GitHack — 一个git泄露利用脚本

执行结果:

[Zone-lijiejie]GitHack — 一个git泄露利用脚本

 

获取代码:https://github.com/lijiejie/GitHack

参考资料:

Git Index Formart

非常感谢 sbp 的 gin – a Git index file parser,脚本中使用了他的解析源代码,为适用python 2.x和Windows作了细微的改动

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: