Git 源码泄露 && GitHack使用
2023-03-07 09:12:31 时间
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相关命令操作来回滚历史版本来获取相关信息。
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的