备份文件下载
网站源码
泄露文件夹为www.zip
,解压后得到三个文件
访问Web目录下flag_256061047.txt
路径得到flag
bak文件
dirsearch扫描结果
vim缓存
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
第一次意外退出产生的交换文件名为 .index.php.swp
第二次产生名为 .index.php.swo
的交换文件
第三次则为 .index.php.swn
将.index.php.swp
使用vim文件在linux中打开,提示的选项中选择恢复文件则可获得flag
.DS_Store
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
访问.DS_Store后拿到文件
在linux中打开发现特殊字符串
访问字符串所指向的文件成功拿到flag
git泄露
log
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。
采用工具GitHack获取git文件夹
python2 GitHack.py http://challenge-790d9e4ee57cfbe5.sandbox.ctfhub.com:10080/.git
可以发现有一次提交删除了flag,所以只需要回滚到add flag那次提交就可以得到flag文件
git reset --hard commit_id
打开回滚新获得文件即可获得flag
slash
git stash命令。储藏(stash)可以获取你工作目录的中间状态,也就是你修改过的被追踪的文件和暂存的变更。并将它保存到一个未完结变更的堆栈中,随时可以重新应用。
比如工作中途需要修改其他分支的一个bug,又不想提交本次未完成的更改就可以使用stash暂存到栈中,修改完其他bug提交后再git stash apply恢复原有的进度。
同上先采用工具获得git文件夹
git slash list 查看暂存区内容
git slash apply 恢复栈中内容
恢复后打开文件即可获取flag
Index
GitHack获得文件后flag文件直接位于文件夹中…
SVN泄露
关于svn漏洞的详细内容 https://blog.csdn.net/weixin_39190897/article/details/109306693
安装svn泄露利用工具dvcs-ripper
git clone https://github.com/kost/dvcs-ripper
perl rip-svn.pl -u http://challenge-d3712f836d938.ctfhub.com:10080/.svn
查看克隆的svn文件夹
根据题目提示的历史版本 而历史版本的内容存放在pristine文件夹中
在5f分支的历史版本中找到了flag
HG泄露
当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。
关于HG泄露,dvcs-ripper中也有对应的利用文件
perl rip-hg.pl -u http://challenge-f65f4b839472017d.sandbox.ctfhub.com:10080/.hg
下载.hg文件后查找有关flag的内容
进入store/data文件夹发现并没有flag.txt文件
通过页面浏览得到flag