当前位置: 代码迷 >> 综合 >> CTFHub-git泄露_log-wp
  详细解决方案

CTFHub-git泄露_log-wp

热度:68   发布时间:2023-11-15 09:56:18.0

首先康康git泄露是个啥玩意

当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。通常情况下下载 .git 文件中会存在网页的快照
【快照:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品】
Git有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)

.git文件的结构:

hook:存放一些sheel的地方。
info:存放仓库的信息
object:存放所有git对象的地方
refs:存放提交hash的地方
config:github的配置信息
description:仓库的描述信息,主要给gitweb等git托管系统使用
HEAD:映射到ref引用,能够找到下一次commit的前一次哈希值

  • 了解 .git 的作用后,我们可以知道应该将此文件保存下来,在本地查看日志以取得flag
  • 直接在url后添加 /.git/ 发现返回403 forbidden 状态码,403意为服务器知道此url的作用,且此url正确,但因权限不足而无法访问此站点
  • 继续查查康康…
  • 发现可以使用一个名为githacker的脚本直接检测并下载 .git 文件
  • 安装完成后,使用指令下载
githacker --url http://challenge-fb37daf2e7a433f5.sandbox.ctfhub.com:10800/.git/ --folder 文件夹名称
  • 成功保存文件
    在这里插入图片描述

  • 在简单了解 git 的常用指令后,我们可以根据题目知道,本题将使用 git log 指令来查看

git log   -查看commit日志

在这里插入图片描述

  • 根据 commit 记录可知,管理员在初始化 .git 后添加并移动了名为flag的文件但是无法查看管理员的具体操作
  • 经查询后,发现可以使用指令显示日志的相关信息
git show

在这里插入图片描述

  • get flag 并复制,解出该题