CTFHub Git泄露

Log

前言

根据题目描述,这个题目需要使用到工具 GitHack 来完成,而 CTFHub 上提供的工具需要在 python2 环境中执行,注意 python3 环境无法使用。

GitHack准备(kali Linux)

打开虚拟机

sudo su

以管理员的身份运行

git clone https://github.com/BugScanTeam/GitHack

GitHack要在其目录下运行,而且环境也要python2的环境,python3的环境不行

解题

python2  GitHack.py http://challenge-e1d56afd01c3bdf2.sandbox.ctfhub.com:10800/.git/ 

在终端打开目录路径,并使用git log命令查看其历史记录

解释说明:

remove flag 表示当前版本

add flag 表示这次提交的版本

init 表示初始的版本

使用git diff命令可以对比提交版本,对比这三个版本发现在add flag中获得此题flag

git diff c4016e7a5c99106aefb974c030c8181d38696d42

ctfhub{1e566fa3df6e2a017942e11f}

Stash

进入环境

使用GitHack工具将题目源码下到本地目录

python2 GitHack.py http://challenge-9ffd02eaf677512a.sandbox.ctfhub.com:10800/.git/

在GitHack工具的dist目录中打开刚才clone的网站目录文件

在终端打开clone的目录路径,并使用git log命令查看其历史记录

使用git diff命令可以对比提交版本,发现在add flag版本中有一个文本文件

git diff a1e2bbe39ff8538f8f661e3944ba82e9e7393086

通过对git命令的学习和题目的提示,使用stash命令可以恢复文件

git stash pop  

笔记

Index

此题与之前题目类似,使用 GitHack 工具 clone 题目源码到本地目录,没想到查看本地目录文件时发现多了一个文本文件,文本文件中得到此题 flag 。

一来直接就使用GitHack工具clone题目源码到本地目录下

在GitHack工具的dist目录中打开刚才clone的网站目录文件,发现一个文本文件

在终端打开clone的目录路径,并查看index file文件

git ls-files --stage

使用git log命令查看其历史记录

git log

使用git diff命令可以对比提交版本,发现在init版本中有一个文本文件,得到此题flag

SVN泄露

先将dvcs-ripper工具在kali linux安装好

参考:dvcs-ripper安装教程-CSDN博客

使用dvcs-ripper工具将泄露的文件下载到本地目录中

./rip-svn.pl -u http://challenge-13535a84cf5cffc9.sandbox.ctfhub.com:10800/.svn 

在.svn文件夹中查看下载好的文件

ls -al

访问wc.db数据查看是否有此题flag,索引发现flag有两个文本文件可能存在flag

cat wc.db | grep -a flag

cat wc.db | grep -a ctfhub

使用curl命令访问可以文件检查网页源代码是否存在flag,检查均返回404,可能已经被删除了

网页提示说flag在服务端旧版本的源代码中,那么应该检查一下pristine文件是否存放flag

cd pristine

查看bf文件夹是否存在此题flag,发现查看文件夹中的.svn-base文件中不存在此题flag

同样的操作查看e8,最后发现flag

HG泄露

要做这题要先下载关于HG泄露的漏洞利用工具

下载使用工具我建议在kali Linux上下载使用dvcs-ripper

解题思路

这题与之前的题目比较类似,同样使用 dvcs-ripper 工具下载泄露的网站目录,但是使用工具过程中出现了一些错误,导致网站源代码没有完整下载。正如网页显示内容中的提示所说,不好使的情况下,试着手工解决。那么此题目是让我们不要过度依赖工具的使用。使用 tree 命令列出下载到本地目录的所有文件。发现一个可疑的文本文件,查看文本文件发现历史记录中一个新增的 flag 文件。正则搜索相关文件发现可疑文本,使用 curl 命令检查发现此题flag。

使用dvcs-ripper下载泄露的文件

./rip-hg.pl -u http://challenge-0d3831f1cebeab8b.sandbox.ctfhub.com:10800/.hg

发现提示404报错和两处完成,可能是没有完整下载网站目录

使用tree命令列出刚刚下载的.hg网站目录,发现可疑的文本文件

查看可疑的文本文件是否存在此题flag,发现历史版本add flag

cat .hg/last-message.txt

发现历史版本可以使用正则表达式进行关键字查找

grep -a -r flag

使用curl命令检查一下data数据中的文本文件,发现此题flag

curl http://challenge-0d3831f1cebeab8b.sandbox.ctfhub.com:10800/flag_2556511088.txt
相关推荐
int WINGsssss13 小时前
Git使用
git
用户07605303543815 小时前
Git Revert:安全移除错误提交的方式
git
Good_Starry1 天前
Git介绍--github/gitee/gitlab使用
git·gitee·gitlab·github
云端奇趣1 天前
探索 3 个有趣的 GitHub 学习资源库
经验分享·git·学习·github
F_D_Z1 天前
【解决办法】git clone报错unable to access ‘xxx‘: SSL certificate problem:
网络·git·网络协议·ssl
等风来不如迎风去2 天前
【git】main|REBASE 2/6
git
艾伦~耶格尔2 天前
IDEA 配置 Git 详解
java·ide·git·后端·intellij-idea
云兮杜康2 天前
IDEA中用过git之后文件名颜色全变红
java·git·intellij-idea
睡不醒的小泽2 天前
git merge 和 git rebase
git
艾伦~耶格尔2 天前
Git 下载及安装超详教程(2024)
git·gitee·码仓