首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Git 源码泄露 && GitHack使用

Git 源码泄露 && GitHack使用

作者头像
Tommonkey
发布2023-02-14 17:13:51
发布2023-02-14 17:13:51
1.9K00
代码可运行
举报
文章被收录于专栏:TommonkeyTommonkey
运行总次数:0
代码可运行

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后:

代码语言:javascript
代码运行次数:0
运行
复制
# 初始化 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相关命令操作来回滚历史版本来获取相关信息。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-082,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Git 源码泄露 && GitHack使用
    • Git源码泄露原理
    • Git 的一些相关操作
    • GitHack 的使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档