当前位置: 首页 > news >正文

CTF Web .git源码泄露实战详解|git-dumper工具完整复现

一、漏洞原理

网站开发使用Git做版本管理,上线部署时未删除项目根目录隐藏的 .git 文件夹,服务器未配置访问拦截规则,攻击者可直接访问 ip:端口/.git/ 获取完整版本仓库,通过Git命令读取网页源码、历史提交记录,拿到注释、后台地址、flag等敏感信息。
本次靶场地址: http://180.76.235.121:33354 ,页面提示 git很好用!聪明的我当然用! ,直接暴露Git泄露漏洞。

二、环境前置准备

1. 安装Git Windows客户端

下载 Git-2.53.0.2-64-bit.exe 默认安装,安装完成后文件夹右键可打开 Git Bash Here 终端。

2. 安装git-dumper源码下载工具

git-dumper是Python编写的Git仓库导出工具,专门用于拉取泄露的.git目录,打开Git Bash执行安装命令:

pip install git-dumper


执行后出现 Requirement already satisfied 代表安装成功,输出的黄色urllib3版本兼容警告不影响工具运行,可直接忽略。

三、完整漏洞利用实操步骤

步骤1:切换工作目录(D盘存放源码)

cd /d

命令行前缀变为 Lenovo@MINGW64 /d 即切换完成。

步骤2:使用git-dumper拉取靶机Git仓库

复制命令后,在Git Bash黑框内鼠标右键粘贴执行:

git-dumper http://180.76.235.121:33354/.git/ ./git源码文件夹


终端持续输出 Fetching 代表正在拉取仓库文件,少量404报错属于正常现象,最后出现 Running git checkout 代表源码还原完毕。

步骤3:进入下载好的仓库文件夹

输入 ls 查看D盘文件,确认仓库文件夹名为 git源码文件夹 ,执行进入目录命令:

cd git源码文件夹


前缀出现 (master) 标识,说明当前处于Git仓库根目录。

步骤4:查看提交记录,判断仓库版本情况

bgit log


日志仅输出一条 init 初始化提交,代表仓库无历史版本,不能执行版本回滚命令 git reset --hard HEAD^ ,强行执行会抛出参数报错。

步骤5:查看完整提交源码,提取Flag(核心操作)

由于无历史版本,直接使用 git show 打印当前提交全部网页代码:

git show


终端输出 index.html 完整HTML源码,在页面注释中找到隐藏flag:
flag{92aa7e30-fa34-48e8-9696-0578940ee4d2}

四、实操高频报错踩坑汇总
1. bash: cd: git_source: No such file or directory
自定义文件夹名称与实际下载目录不匹配,先用 ls 命令查看当前目录所有文件,确认真实文件夹名称后再cd进入。
2. fatal: ambiguous argument 'HEAD^': unknown revision
仓库仅有1条初始化提交,不存在上一个历史版本,放弃回滚操作,直接使用 git show 读取完整源码。
3. No stash entries found.
仓库无暂存、未保存的临时文件, git stash pop 命令无任何作用,无需执行。

http://www.jsqmd.com/news/1076587/

相关文章:

  • 一个 setTimeout 引出了事件循环问题,这个事件循环到底是个啥?
  • 测试工程师必须要掌握的linux命令大全
  • 一份写给未来的微信机器人开发教程:如何构建大模型友好的语义网络?
  • Playwright测试自动化工具:架构优势、实战对比与最佳实践
  • AutoCAD 2027
  • 球幕投影设计内容适配球型曲面技巧​
  • 从代码逻辑到大模型心智:个人微信机器人接口的“对齐”之路
  • Variance in Adversarial Attack for Customized Diffusion Models
  • 【JAVA毕设源码分享】基于Javaweb求知资讯网的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 【考研】2026/6/24
  • 3步解决Jellyfin中文刮削难题:MetaShark插件配置全攻略
  • Linux进阶--系统备份、恢复与可视化管理工具webmin、bt宝塔
  • 深度解析Winlator:Android上运行Windows应用的输入控制核心技术
  • Spring Data 2025.0.13 版本发布,或为 3.5.x 系列最后开源版,官方建议升级!
  • 银行AI模型可解释性与连续监控实战指南
  • 2026参观游学考察(标杆企业商务游学考察详细版)
  • 2026年小区家用充电桩推荐,物业易审批、安装友好的合规款
  • AI沙箱代理实战:用Modal实现安全可控的代码操作
  • 3D医学影像AI实战指南:模型选型、数据适配与临床落地
  • Netflix推荐系统背后的用户体验工程实践
  • C++模板与运算符重载实战技巧
  • 如何快速打造你的专属虚拟桌面伴侣:Mate Engine免费开源指南
  • 计算机毕业设计之基于ssm的宠物医院管理系统
  • TVA在物流分拣领域的独特价值(5)
  • 终极指南:如何在Windows系统上完全掌控LG Ultrafine显示器亮度
  • LeetCode 每日一题笔记 日期:2026.06.25 题目:3737. 统计主要元素子数组数目 I
  • 如何用Outfit字体快速打造专业品牌视觉?9种字重免费开源指南
  • Vue 3 setup语法糖用错,数据不更新!
  • 【数据分享】1950-2026年中国0.1°分辨率逐月累积地表径流栅格数据
  • 深入Star Citizen p4k文件解压:技术原理与实战应用