0x00 前言
话不多说,先介绍一波git
https://baike.baidu.com/item/GIT/12647237?fr=aladdin
直接放链接了,里面说的比我详细多了
0x01 题目
题目是昨年百度杯十月赛的一道题
从两个tips就可以看出一点文件泄露的苗头
进入题目
一个登录框,扔到repeater里fuzz一下
可以看到,分别存在密码错误和用户名不存在两个结果,按照经验来说应该都知道是一个布尔型的盲注。
写个很简单的脚本即可,可以使用正则匹配,也没有过滤什么,这里就不再放脚本出来了。
注入分别获得
username: bctf3dm1n
password: adminqwe123666
可以看到登录进去后是类似于一个终端的模式展示出来
直接访问 /.bctfg1t/返回403
应该是git文件泄露,githack来一下
ok~flag.php到手
看来不能使用githack
那就直接按规则爬取吧.
这里有两个我自己常用的工具
Gitdumper
diggit
rip-git
就拿第一个举个例子吧
gitdumper.sh
平时使用不深究的话,就这个题来说只需要改变他的git目录即可
只需要改动箭头处为已知的git目录名即可
我们来运行一下
这里其实并没有下载完全,重新弄了两下就好了
Usage:./gitdumper.sh http://e8d8fa5fae5846ed8be889117db1f85a5eda9fe5c95044d1.game.ichunqiu.com/Challenges/.bctfg1t/ res
res 是输出的文件夹目录
然后使用 git cat-file -p 命令即可
获得一个php文件,访问即可
学了C26表哥的一波姿势,在服务器端存在一个stash目录,可以直接看到一个SHA1,直接下载
从/objects/目录上下载后,可以在/.bctfg1t/目录下mkdir一个/be/目录,然后将文件放入该目录就可以使用上面的命令来读取该git了
还有一种方法,就是通过爬虫爬取整个git目录,虽然方法比较原始和繁琐,但是能还原服务器上的详细情况,可以通过git log查看网站的提交纪录