关于/.git漏洞实现文件越权下载漏洞

简介: 该文描述了如何检测和利用网站的Git泄露。首先通过dirsearch扫描确认网站是否存在Git泄露,然后使用GitHack.py脚本(可在GitHub的lijiejie/GitHack项目找到)进行下载。操作步骤包括在git文件夹内创建lib子目录,放置脚本,并在git目录下运行Python命令。示例中展示了针对http://www.baidu.com/.git的尝试,结果返回404错误,而成功情况则会列出下载的文件列表。

免责声明

技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!譬如收集大规模集群(包括网络设备、操作系统、应用程序)的监控数据并进行存储。查询使用本文所提供的信息或工具即视为同意本免责声明,并承诺遵守相关法律法规和道德规范

Githack

GitHack脚本是一种针对Git源代码管理系统的安全漏洞利用工具。它主要用于发现和利用那些公开暴露了.git目录结构的Web服务器。当一个Web服务器配置错误,导致.git目录可以通过HTTP或HTTPS协议直接访问时,攻击者可以利用GitHack脚本来下载、恢复并重建整个源代码仓库。


确认目标网站是否存在git泄露,可以dirseach扫,显示200(有时403也行)

使GitHack.py脚本下载,https://github.com/lijiejie/GitHack(用魔法)

具体使用方法:

建一个文件夹git,在git里建一个lib,将网站里的GItHack.py放在git里, 其余的两个py放在lib里,之后在git里面cmd

具体操作:

Windows:

py GitHack.py http://目标网站/.git/ (py3环境 ) (ps:建议将GitHack.py更名为1.py之类的,更方便,我就单纯的更改为小写githack.py了)

失败

`D:\tool\Git>python GitHack.py http://www.baidu.com/.git`

`[+] Download and parse index file ...`

`[ERROR] index file download failed: HTTP Error 404: Not Found`

成功

`Download and parse index file``.env.example .ftpconfig.qitattributes github/workflows/development.yml .gitignore .htaccess README.Md app/Admin/Municipality.php app/AdminReport.php app/Category.php app/Client.php app/Console/Commands/Inspire.php app/Console/Kernel.php app/Contact.php app/ContactCategory.php` (此处为下载的文件)


Linux:

获取 GitHacker 工具包:

git clone https://github.com/WangYihang/GitHacker.git

cd GitHacker

下载 .git 文件并使用python脚本自动恢复该目录下的文件:

python GitHacker.py http://www.baidu.com/.git`


相关文章
|
2月前
|
开发工具 git
使用Git下载指定版本或指定commit
使用Git下载指定版本或指定commit
|
7月前
|
开发工具 git 索引
怎么取消对project.private.config.json这个文件的git记录
通过以上步骤,您可以成功取消对 `project.private.config.json`文件的Git记录。这样,文件将不会被包含在未来的提交中,同时仍保留在您的工作区中。
201 28
|
8月前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
438 0
|
开发工具 git
如何使git提交的时候忽略一些特殊文件?
如何使git提交的时候忽略一些特殊文件?
|
11月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
675 1
git学习三:git使用:删除仓库,删除仓库内文件
|
11月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
343 4
|
11月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
127 1
|
缓存 开发工具 git
给Git仓库添加.gitignore:清理、删除、排除被Git误添加的临时文件
本文介绍了如何为Git仓库添加`.gitignore`文件来排除不需要跟踪的临时文件,并展示了如何删除已经被提交的临时文件缓存,以清理Git仓库中的不必要文件。
1500 0
给Git仓库添加.gitignore:清理、删除、排除被Git误添加的临时文件
|
安全 开发工具 git
coding上创建项目、创建代码仓库、将IDEA中的代码提交到coding上的代码仓库、Git的下载、IDEA上配置git
这篇文章是关于如何在IDEA中配置Git、在Coding.net上创建项目和代码仓库,并将IDEA中的代码提交到远程代码仓库的详细教程,涵盖了Git安装、IDEA配置、项目创建、代码提交等步骤。
coding上创建项目、创建代码仓库、将IDEA中的代码提交到coding上的代码仓库、Git的下载、IDEA上配置git
|
开发工具 git iOS开发
服务器配置Huggingface并git clone模型和文件
该博客提供了在服务器上配置Huggingface、安装必要的工具(如git-lfs和huggingface_hub库)、登录Huggingface以及使用git clone命令克隆模型和文件的详细步骤。
1390 1