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
相关推荐
程序员buddha1 小时前
git版本工具使用教程
git
tian-ming6 小时前
技术栈2:Git分布式版本控制工具
git
算你狠 - ZGX7 小时前
Git - 日志
git
CherishTaoTao7 小时前
Git别名设置
大数据·git
Python私教7 小时前
git配置用户信息
git
scoone9 小时前
Git 中的 patch 功能
git
scoone9 小时前
删除 git config 保存的密码
git
zhangphil12 小时前
git rebase --continue解冲突操作
git
luckilyil18 小时前
使用Git进行项目管理
git
焦糖酒20 小时前
Git通讲-第二章(4):分布式版本控制
分布式·git