GitHack:一个git泄露利用脚本

GitHack:一个git泄露利用脚本

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

作者:exploit.py 来源:FreeBuf| 2015-04-30 08:03

免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

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

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

Git信息泄露的危害很大,渗透测试人员、攻击者,可直接从源码获取敏感配置信息(如:邮箱,数据库),也可以进一步审计代码,挖掘文件上传、SQL注射等安全漏洞。

工作原理

1、解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 )

2、去.git/objects/ 文件夹下下载对应的文件

3、zlib解压文件,按原始的目录结构写入源代码

优点

速度快,默认20个工作线程

尽量还原所有的源代码,缺失的文件不影响脚本工作

脚本不需要执行额外的git命令,all you need is python

脚本无需浏览目录

可能的改进

存在文件被gc打包到git\objects\pack的情况,稍后可测试下看能否直接获取并解压这个文件,还原源代码

用法示例

GitHack.py http://www.openssl.org/.git/

执行中截图:


执行结果:


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

参考资料

Git Index Formart

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值