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
相关推荐
SiYuanFeng5 小时前
新手学Git:如何把本地 Git 项目上传到 GitHub
git·github
前端若水6 小时前
git回退并合并分支操作
git
程序员鱼皮12 小时前
Git WorkTree 是什么?凭什么能让 AI 编程效率翻倍?
git·ai·程序员·编程·ai编程
懵逼的小黑子14 小时前
git与远程仓库创建连接
git
前端若水14 小时前
Git 撤销与恢复完全指南(超级详细版)
大数据·git·elasticsearch
golang学习记14 小时前
Git 2.54 来了,这个新命令让我终于敢重写历史了
git·后端
其实防守也摸鱼15 小时前
AWVS下载和安装保姆级教程
linux·服务器·git
前端若水15 小时前
Git 可以做的所有操作(完整分类)
大数据·git·elasticsearch
叹一曲当时只道是寻常15 小时前
Reference 工具安装与使用教程:一条命令管理 Git 仓库引用与知识沉淀
人工智能·git·ai·开源·github
前端若水16 小时前
Git 仓库管理命令完全指南(超级详细版)
大数据·git·elasticsearch