[Python/网络安全] Git漏洞之Githack工具基本安装及使用详析

devtools/2024/11/30 13:28:59/

前言

本文仅分享Githack工具基本安装及使用相关知识不承担任何法律责任。

Git是一个非常流行的开源分布式版本控制系统,它被广泛用于协同开发和代码管理。许多网站和应用程序都使用Git作为其代码管理系统,并将其部署到生产环境中以维护其代码库。

然而,在配置不当的情况下,可能会导致.git文件夹被直接部署到线上环境中,这可能会导致Git泄露问题。

可通过githack下载泄露的Git存储库,以获取包含未加密密码、凭据和敏感信息的站点代码库。

使用githack下载Git存储库的方法有两种。

方法一

  1. 打开githack网站 https://githack.com/

  2. 在网站上方的文本框中输入目标Git存储库的URL,例如https://example.com/.git/

  3. 点击Generate link按钮生成可下载存储库的链接。

  4. 将生成的链接复制到浏览器地址栏中并打开。

  5. 从打开的页面中下载压缩的Git存储库文件。

方法二

如需实现快捷下载,可依照如下步骤安装使用githack

  1. 从GitHub上下载githack的源代码 GitHub - lijiejie/GitHack: A `.git` folder disclosure exploit

在这里插入图片描述

  1. 将其解压到Python3的Tools目录下

在这里插入图片描述

  1. 在命令行窗口中切换到githack源代码的目录

执行如下命令来安装githack所需的第三方库:

pip install -r requirements.txt

如果cmd窗口回显如下:

ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
WARNING: You are using pip version 21.2.4; however, version 23.1.2 is available.
You should consider upgrading via the 'C:\Python3\python.exe -m pip install --upgrade pip' command.

在这里插入图片描述

说明在githack源代码目录中找不到名为requirements.txt的文件,可手动安装githack所需的第三方库。这里列出了githack所需的所有依赖项:

  • GitPython==2.1.11
  • pathlib==1.0.1

按照以下步骤使用pip来下载依赖项:

1.打开命令行窗口并切换到githack源代码所在的目录。

2.依次运行以下命令:

pip install GitPython==2.1.11
pip install pathlib==1.0.1

在这里插入图片描述

3.确认所有依赖项都已成功安装。

  1. githack目录下打开cmd:

在这里插入图片描述
输入以下命令来使用githack

python githack.py http://example.com/.git/

其中,将http://example.com/.git/替换为实际目标Git存储库的URL。
如:python githack.py http://2023.5.29.qiu/.git/

演示如下:

在这里插入图片描述

  1. githack将自动下载并提取Git存储库的完整历史记录和配置信息,保存在当前目录下的.git目录中,进入该目录查看即可

在这里插入图片描述

总结

本文仅分享Githack工具基本安装及使用相关知识,读者请谨记:使用githack需要严格遵守法律和道德准则。确保您已获得适当的授权,并遵守与安全测试和渗透测试相关的法律法规和道德准则。


http://www.ppmy.cn/devtools/138206.html

相关文章

基于单片机的智能药箱设计

本设计主要由红外检测传感器、显示、独立按键、舵机、语音以及短信等模块组成。红外传感器模块主要对药仓中的药物数据进行采集,采集完毕由主控制器进行数据加工,之后可传送至显示模块上进行显示,在显示模块也可对显示时间、吃药倒计时、吃药…

《软件项目管理》期末-复习题及参考答案

(1)赶工一个任务时,你应该关注( C ) A. 尽可能多的任务 B. 非关键任务 C. 加速执行关键路径上的任务 D. 通过成本最低化加速执行任务 (2)下列哪个不是项目管理计划的一部分?&#x…

Vue.js 指令详解:v-bind, v-html, v-once, v-on, v-if, v-else-if, v-else 和 v-model

Vue.js 是一个用于构建用户界面的渐进式框架,它通过一系列的指令来实现数据与 DOM 的绑定。在本篇博客中,我们将通过一个示例来介绍 Vue 3 中的一些常用指令:v-bind, v-html, v-once, v-on, v-if, v-else-if, v-else 和 v-model。 1. v-bind…

【机器学习】机器学习的基本分类-监督学习-逻辑回归(Logistic Regression)

逻辑回归是一种分类算法,尽管名字中包含“回归”,但其主要用于解决二分类和多分类问题。它通过学习一个逻辑函数,预测输入属于某个类别的概率。 1. 逻辑回归的基本概念 目标 逻辑回归的目标是找到一个函数 h(x),输出一个概率值 …

微信小程序Webview与H5通信

背景 近期有个微信小程序需要用到web-view嵌套H5的场景,该应用场景需要小程序中频繁传递数据到H5进行渲染,且需要保证页面不刷新。 由于微信小程序与H5之间的通信限制比较大,显然无法满足于我的业务场景 探索 由于微信小程序与webview的环境是…

田忌赛马五局三胜问题matlab代码

问题描述:在可以随机选择出场顺序的情况下,如果把比赛规则从三局两胜制改为五局三胜制,齐王胜出的概率是上升了还是下降了?五局三胜的赛制下,大家的马重新分为5个等级。前提条件仍然是齐王每种等级的马都优于田忌同等级…

docker入门学习笔记

docker的定义 docker是一个用于构建、运行、传送 应用程序的平台。 为什么要使用docker ? 在开发测试库环境中测试成功后,打包成集装箱,到生产环境也是能够成功的。而传统的安装方式不仅繁琐,并且在测试环境安装后,到…

添加事务,封装响应数据

(4)在业务中添加事务管理 创建平台事务管理器》实际是jdbc的事务 public class JdbcConfig {Beanpublic PlatformTransactionManager transactionManager(DataSource ds){DataSourceTransactionManager transactionManager new DataSourceTransacti…