工具介绍《githack》以及Git 命令行

news/2025/3/10 5:55:14/

一、Githack 工具介绍

Githack 是一个用于检测和利用网站 .git 目录泄露漏洞的安全工具。当网站错误配置导致 .git 目录可公开访问时,攻击者可通过该工具下载 .git 中的版本控制文件,并重建完整的项目源代码。

核心用途
  • 检测 .git 目录泄露漏洞。
  • 从泄露的 .git 目录中恢复项目源代码和历史记录。
安装方法
git clone https://github.com/lijiejie/GitHack  # 克隆仓库
cd GitHack
pip install -r requirements.txt  # 安装依赖
使用示例
python GitHack.py http://example.com/.git/

执行后,工具会自动下载 .git 文件并重建项目到本地目录。


二、Git 命令行常用操作及示例

以下是 Git 版本控制的核心命令和场景示例:


1. 仓库初始化与克隆
  • 初始化新仓库

    git init  # 创建空仓库
    
  • 克隆远程仓库

    git clone https://github.com/user/repo.git  # 克隆项目到本地
    

2. 文件操作与提交
  • 添加文件到暂存区

    git add file.txt         # 添加单个文件
    git add .               # 添加所有修改
    
  • 提交更改

    git commit -m "添加新功能"  # 提交并附加描述
    

3. 查看状态与历史
  • 查看仓库状态

    git status  # 显示未提交的修改
    
  • 查看提交历史

    git log             # 完整历史(注意git log为滚动显示,可以按回车向下滚动)
    git log --oneline   # 简洁单行显示
    

4. 分支管理
  • 创建/切换分支

    git branch dev      # 创建分支
    git checkout dev    # 切换到 dev 分支
    git checkout -b dev # 创建并切换(合并命令)
    
  • 合并分支

    git checkout main   # 切换到主分支
    git merge dev       # 将 dev 分支合并到 main
    

5. 远程仓库交互
  • 关联远程仓库

    git remote add origin https://github.com/user/repo.git
    
  • 推送代码

    git push origin main  # 推送本地 main 分支到远程
    
  • 拉取更新

    git pull origin main  # 拉取远程 main 分支的更新
    

6. 撤销与回退
  • 撤销未提交的修改

    git checkout -- file.txt  # 丢弃对 file.txt 的修改
    
  • 回退到历史提交

    git reset --hard HEAD^    # 回退到上一个提交(慎用!)
    git reset --hard abc123   # 回退到指定 commit ID
    

7. 其他实用命令
  • 查看差异

    git diff             # 比较工作区和暂存区
    git diff HEAD        # 比较工作区与最新提交
    
  • 储藏临时修改

    git stash           # 临时保存未提交的修改
    git stash pop       # 恢复最近一次储藏的内容
    

三、注意事项

  1. 安全风险
    • 确保服务器上的 .git 目录不可公开访问(可通过配置 .htaccess 或服务器规则屏蔽)。
  2. 合法使用
    • Githack 仅用于安全测试,未经授权扫描他人网站属非法行为。
  3. Git 最佳实践
    • 频繁提交小改动,编写清晰的提交信息。
    • 使用分支开发新功能,避免直接修改 main 分支。

http://www.ppmy.cn/news/1578004.html

相关文章

基于Python+Vue的智能服装商城管理系统的设计与实现

👗 基于PythonVue的智能服装商城管理系统的设计与实现 电商级解决方案:全栈技术融合 智能推荐系统 多维度数据分析 项目亮点:课程设计优选 | 企业级架构规范 | 完整电商功能闭环 | 毕业设计选择 🌐 在线资源速览 类别地址访问方…

静态网页的爬虫(以电影天堂为例)

一、电影天堂的网址(url) 电影天堂_免费电影_迅雷电影下载_电影天堂网最好的迅雷电影下载网,分享最新电影,高清电影、综艺、动漫、电视剧等下载!https://dydytt.net/index.htm 我们要爬取这个页面上的内容 二、代码…

Element Plus中的树组件的具体用法(持续更新!)

const defaultProps {//子树为节点对象的childrenchildren: children,//节点标签为节点对象的name属性label: name, } 属性 以下是树组件中的常用属性以及作用: data:展示的数据(数据源) show-checkbox:节点是否可…

DeepSeek开源Day1:FlashMLA技术详解

2 月 24 日,DeepSeek 启动 “开源周”,首个开源的代码库为 FlashMLA。DeepSeek 这种挤牙膏式的宣推手段也是很有意思,看来梁文锋团队不仅仅是技术派,也擅长玩技术流量 IP。 1. FlashMLA 简介 FlashMLA 是由 depseek-ai &#xf…

swift-5-汇编分析闭包本质

一、枚举、结构体、类都定义方法 方法占用对象的内存么? 不占用 方法的本质就是函数 方法、函数都存放在代码段,因为方法都是公共的,不管 对象一还是对对象二调用都是一样的,所以放在代码段,但是每个对象的成员不一样所…

DeepSeek开源Day2:DeepEP技术详解

2 月 24 日,DeepSeek 启动 “开源周”,第二个开源的代码库为 DeepEP。很好,又挤了一段有硬件基因的牙膏出来。H100/H800 绝对是 DeepSeek 的小心肝。 1 DeepEP 简介 DeepEP 是由 deepseek-ai (深度求索)开发的一个开源…

Go语言中位清除运算符的应用场景

package mainimport "fmt"func main() {a : 5 //101b : 1 //001//100 -> 4fmt.Println(a, b)//位清除 当b为0的时候取a的值,当b为1的时候取0fmt.Println(a &^ b) }《Go语言圣经》里面有对此的描述,x a &^ b,当b为…

React基础之组件通信

组件嵌套 父子传值实现 实现步骤 1.父组件传递数据-在子组件标签上绑定属性 2.子组件接收数据-子组件通过props参数接收数据 import React, { useRef, useState } from react; //父传子 //1.父组件传递数据,需要在子组件标签上绑定数据 //2.子组件接收数据 props的参…