Git 源码泄露 && GitHack使用
2023-06-13 09:17:00 时间
Git 源码泄露 && GitHack使用
Git源码泄露原理
开发者通过git对站点进行版本控制,但可能因为一些粗心大意或者配置上的一些原因,可能会把 .git 文件也纳入了版本控制,导致每次git推送内容到站点是顺便也把.git也推送到了站点目录下。那为什么.git文件被推送上去,就会出现源码泄露呢?因为在git系统中所有的数据都是存在.git文件下的,该文件下有五个文件夹:
- hooks : 用于存储shell脚本,当执行某些git指令后,会触发存储在该文件夹下指定的shell脚本
- info : 用于存储该仓库的信息
- logs : 用于记录分支提交的记录
- objects : key-value 数据库
- refs :用于记录每个分支的最新提交结点以及tags
在.git文件夹中,同样存在有一些文件,譬如HEAD、config、index等文件,其中HEAD文件用以记录当前仓库指向的项目提交结点,config文件中记录着仓库的配置信息。如果开发者失误把.git也推送上去了。那用Githack脚本工具即可完全恢复该文件夹内的内容。获取一些重要的信息,从而达到信息泄露的目的。
Git 的一些相关操作
当在Git官网下载安装好git后:
# 初始化 git仓库,会在当前文件下生成.git文件 && 克隆远程仓库
git init && git clone
# 查看每次推送的历史版本
git log
# 查看历史版本后,想恢复到某一个历史版本
git reset --hard 版本号
# 下载远程仓库的代码并合并 && 推送本地代码到仓库并合并
git pull && git push
# 添加文件到暂存区 && 将暂存区内容添加到仓库中
git add && git commit
GitHack 的使用
通过使用dirsearch工具扫描到有.git目录是就可以确认存在其源码泄露了,然后使用GitHack脚本工具进行下载还原.git中的内容。(Githack是基于python2,其版本需大于2.7.9。 dirsearch是基于python3,其版本需大于3.7)。
GitHack 下载地址:https://github.com/lijiejie/GitHack
CMD进入该工具的目录下后,使用命令运行:
python2 GitHack.py http://abc.com:80/.git/
若存在该漏洞,则会在运行结束后,在当前目录下生成一个文件夹,关于.git内的内容。通过git相关命令操作来回滚历史版本来获取相关信息。
相关文章
- 几条「业务测试工程师」的观察&思考
- 倒计时7天!第二届SmartNIC & DPU技术创新峰会诚邀您参会
- Q&A特辑 | 看了这场直播,我找到了设备指纹“从不说谎”的原因
- 【Flutter&Flame 游戏 - 贰伍】pinball 源码分析 - 资源加载与 Loading
- CVE-2020-36179/80/81/82:Jackson-databind SSRF&RCE
- 【Flutter&Flame 游戏 - 贰柒】pinball 源码分析 - 角色选择与玩法面板
- 【Flutter&Flame 游戏 - 贰玖】pinball 源码分析 - 视口与相机
- 图像校正优化软件:Perfectly Clear QuickDesk & QuickServer中文版 Mac下载
- 重识Nginx - 10 ngx_http_log_module日志模块 & GoAccess日志分析
- Maven 换源 & Mybatis 开启 Log4j 日志框架
- 【一Go到底】第二天---你好,Go and GOROOT&GOPATH
- 零零信安-D&D数据泄露报警日报【第23期】
- CNN基础 & CV基本应用
- 零零信安-D&D数据泄露报警日报【第34期】
- JavaEE8 - Number&Math&Character类
- 中文预训练模型!| 哈工大 && 科大讯飞 提出多任务预训练模型LERT(含源码)
- NeurIPS2022 | 基于 Transformer Attention的联邦强化学习(滑铁卢大学&&含源码)
- ECCV2022 &CVPR2022论文速递2022.8.9!
- react源码解析--jsx&核心api
- Luminar 4 for mac&win(全功能图像处理软件)
- Windows XP SP1 & Windows Server 2003泄漏源码[All Leaked]
- 可视化编程和低代码编程&面向切面编程和依赖注入
- redis&nginx运行参数采集脚本
- C语言*运算符和&运算符
- 串MySQL处理字符串的最佳实践(mysql & 字符)