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