IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git信息泄露原理解析及利用总结 -> 正文阅读

[开发工具]Git信息泄露原理解析及利用总结

目录

1、什么是版本控制系统

2、去中心化

3、Git信息issue

1、漏洞介绍:

1、把私有仓库/隐私文件提交到了github

2、部署项目的时候

2、漏洞危害

4、Github搜索技巧

1、文件名包含

?2、路径包含

?3、编程语言

?4、文件名加语言

?5、标签数量

?6、文件大小

7、收藏数量

?8、最后更新时间????????

?9、创建时间

10、排除某种语言

?5、Git信息泄露利用方式

5.1、找到.git文件

1、目录扫描

2、robots.txt

3、搜索引擎

?5.2、?把.git下载到本地

1、GitHub - BugScanTeam/GitHack: .git 泄漏利用工具,可还原历史版本

2、GitHub - lijiejie/GitHack: A `.git` folder disclosure exploit

?3、GitHub - WangYihang/GitHacker: 🕷? A `.git` folder exploiting tool that is able to restore the entire Git repository, including stash, common branches, common tags.

4、GitHub - WangWen-Albert/JGitHack

5.3 、用git的命令获取内容


1、什么是版本控制系统

? ? ? ? 它是去中心化的版本控制系统,我们先假设这样一个情况:我们新建了一个jin.txt文档,再开发的时候需要反复的修改里面的内容,可能会出现这种情况,当我们修改的时候,发现之前的开发是有利用性的,有人可能会说我们可以选择反复备份文件,但是我们是软件开发人员,项目内容可能成千上万,代码的恢复、备份修改仓库难以管理、如果整个工程直接打包,占用空间过多......Version Control System 诞生了


2、去中心化

? ? ? ? 为了解决集中SVN开发出现故障,我们引入了分布式版本控制系统(Distributed Version Control System)

????????Git是一个开源的分布式版本控制系统 ,我们简单的理解为Git 是一个内容寻址文件系统,也就是说Git 的核心部分是键值对数据库,当我们向 Git 仓库中插入任意类型的内容(开发者们在其中做的版本信息修改之类的操作),它会返回一个唯一的键,通过该键可以在任意时刻再次取回该内容,常见的远程仓库有GithubGitlab、码云......


3、Git信息issue

1、漏洞介绍:

????????Git是一个可以实现有效控制应用版本的系统,但是在一旦在代码发布的时候,存在不规范的操作及配置(如下1-2),就很可能将源代码泄露出去。那么,一旦攻击者或者黑客发现这个问题之后,就可能利用其获取网站的源码、数据库等重要资源信息,进而造成严重的危害

1、把私有仓库/隐私文件提交到了github

? ? ? ? ?有些开发人员把公司机密性的文件不小心提交到github上。

2、部署项目的时候

????????不小心把 .git 文件一起打包进去,放到web网站的目录下

2、漏洞危害

????????正如简介所说,在配置不当的情况下,可能会将“.git”文件直接部署到线上环境,这就造成了git泄露问题。攻击者利用该漏洞下载.git文件夹中的所有内容。如果文件夹中存在敏感信息(数据库账号密码、源码等),通过白盒的审计等方式就可能直接获得控制服务器的权限和机会!

.git的有用信息

  • .git/logs/HEAD ? ? ? ? ? ? ? ? ?存储了gitlog信息,可以找到历史的commit
  • .git/index ? ? ? ? ? ? ? ? ? ? ? ? ??缓存git add的文件,暂存区
  • .git/refs/stash ? ? ? ? ? ? ? ? ? ?git stash 把代码存入缓存区
  • .git/refs/heads/master? ? ??记录了mastercommithash
  • .git/objects/pack/.pack

4、Github搜索技巧

可以任意组合

1、文件名包含

xx in:file

eg:kali in:file

?2、路径包含

xx in:path

eg:?kali in:path

?3、编程语言

搜索名称 language:语言
eg:shodan language:python

?4、文件名加语言

filename: xxxx? ? ?language:xxx
eg:??filename:config.php language:php

?5、标签数量

xxx topics:>=5

eg:?kali topics:>=5

?6、文件大小

xxx size:<xxx

eg:?kali size:<1000 (单位是B)

7、收藏数量

xx stars:xx..xx

eg:?kali stars:10..50

?8、最后更新时间????????

xx pushed:>xx

eg:kali pushed:>2021-08-15

?9、创建时间

xx? created:>=xxx
eg:? kali created:>=2021-06-01
?

10、排除某种语言

?-language:xxx

?eg:?kali pushed:<2021-08-01 -language:java


?5、Git信息泄露利用方式

直接使用工具:GitHub - gakki429/Git_Extract: 提取远程 git 泄露或本地 git 的工具

5.1、找到.git文件

我们明白了github的搜索方法后,接下来的任务就是找到.git的文件夹

1、目录扫描

之前有介绍到目录扫描的工具,比如说御剑、kali 里面的dirb......

2、robots.txt

不让爬虫机器人爬它,那么它的"可能性"很大

3、搜索引擎

要加" ",

eg:intitle:"Index of /.git"

?5.2、?.git下载到本地

????????首先人工输入操作的效率是不言而喻的,也已经有人在研究这个问题了,在这里提供四个常用工具。

1、GitHub - BugScanTeam/GitHack: .git 泄漏利用工具,可还原历史版本

git clone https://github.com/BugScanTeam/GitHack

?下载完之后要通过如下形式进行运行(脚本是python2环境)

python GitHack.py xxx.com/.git/

2、GitHub - lijiejie/GitHack: A `.git` folder disclosure exploit

下载方法同上,这里不再做演示

?3、GitHub - WangYihang/GitHacker: 🕷? A `.git` folder exploiting tool that is able to restore the entire Git repository, including stash, common branches, common tags.

上面有具体的安装环境,由于本人的电脑内存配置问题,没有安装。

4、GitHub - WangWen-Albert/JGitHack

5.3 、git的命令获取内容

  • git diff ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 对比版本差异
  • git log? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?获取提交记录
  • git reset --hard [log hash]? ? ? ? ? ? ? ? ? ? ? ? ??恢复到某个版本

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:32:17  更:2022-09-04 01:33:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 14:39:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码