Patrilic's blog

由一道CTF题理解git文件泄露

Word count: 566 / Reading time: 2 min
2018/05/27 Share

0x00 前言

话不多说,先介绍一波git
https://baike.baidu.com/item/GIT/12647237?fr=aladdin
直接放链接了,里面说的比我详细多了

0x01 题目

题目是昨年百度杯十月赛的一道题
ChyZuD.jpg
从两个tips就可以看出一点文件泄露的苗头
进入题目
ChyKUA.jpg
一个登录框,扔到repeater里fuzz一下
ChylCt.jpg
ChymHH.jpg
可以看到,分别存在密码错误和用户名不存在两个结果,按照经验来说应该都知道是一个布尔型的盲注。
写个很简单的脚本即可,可以使用正则匹配,也没有过滤什么,这里就不再放脚本出来了。

注入分别获得

username: bctf3dm1n
password: adminqwe123666

ChytbQ.jpg
可以看到登录进去后是类似于一个终端的模式展示出来
直接访问 /.bctfg1t/返回403
ChyaUs.jpg
应该是git文件泄露,githack来一下
Chy3gf.jpg
ok~flag.php到手
ChyJKS.jpg
看来不能使用githack
那就直接按规则爬取吧.
这里有两个我自己常用的工具
Gitdumper
diggit
rip-git

就拿第一个举个例子吧
gitdumper.sh
平时使用不深究的话,就这个题来说只需要改变他的git目录即可
ChyD2V.jpg
只需要改动箭头处为已知的git目录名即可
我们来运行一下
Chy0Cq.jpg
这里其实并没有下载完全,重新弄了两下就好了

Usage:./gitdumper.sh http://e8d8fa5fae5846ed8be889117db1f85a5eda9fe5c95044d1.game.ichunqiu.com/Challenges/.bctfg1t/ res

res 是输出的文件夹目录
然后使用 git cat-file -p 命令即可

ChyyKU.jpg
获得一个php文件,访问即可
Chycb4.jpg

学了C26表哥的一波姿势,在服务器端存在一个stash目录,可以直接看到一个SHA1,直接下载
ChyW5R.jpg
从/objects/目录上下载后,可以在/.bctfg1t/目录下mkdir一个/be/目录,然后将文件放入该目录就可以使用上面的命令来读取该git了

还有一种方法,就是通过爬虫爬取整个git目录,虽然方法比较原始和繁琐,但是能还原服务器上的详细情况,可以通过git log查看网站的提交纪录

0x03 学习网站

如何利用.git文件夹下载整个网站泄漏的源码—WangYiHang
通过git获取源码
Git教程
githack

CATALOG
  1. 1. 0x00 前言
  2. 2. 0x01 题目
  3. 3. 0x03 学习网站