目录
目录遍历
PHPINFO
备份文件下载——网站源码
备份文件下载——bak文件
备份文件下载——vim缓存
备份文件下载—— .DS_Store
Git泄露 ——Log
Git泄露——Stash
Git泄露——Index
SVN泄露
HG泄露
开始查找
进入到了/flag_in_here
文件树中,依次遍历寻找:
点击查看phpinfo
浏览phpinfo.php,搜索flag
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
查看提示:
我们可以根据文件名和后缀进行查找:
这使用python脚本进行扫描
import requests
if __name__ == '__main__':
# url为被扫描地址,后不加‘/’
url1 = 'http://challenge-3c36914916e0b990.sandbox.ctfhub.com:10800'
# 常见的网站源码备份文件名
list1 = ['web', 'website', 'backup', 'back', 'www', 'wwwroot', 'temp']
# 常见的网站源码备份文件后缀
list2 = ['tar', 'tar.gz', 'zip', 'rar']
for i in list1:
for j in list2:
back = str(i) + '.' + str(j)
url = str(url1) + '/' + back
print(back + ' ', end='')
print(requests.get(url).status_code)
运行结果,我们访问状态码为200的www.zip
下载文件并解压
我们通过浏览器访问就可以找到 flag
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
打开题目,提示 Flag in index.php source code.
我们访问 index.php.bak 下载成功后以记事本打开
成功获得flag
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
启动环境
提示了flag在index.php
页面的源码中,并提示了是vim缓存漏洞
访问/.index.php.swp
,下载index.php
的swp
文件:
使用 vim 回复 .swp 文件
vim -r index.php.swp
恢复swp文件,得到源码。同时我们也找到了flag
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
我们先使用dirsearch工具扫描出 .DS_Store 文件(dirsearch的下载与使用)
参数 -u URL 填写自己环境的URL
python3 dirsearch.py -u challenge-e931a67398f0d992.sandbox.ctfhub.com:10800 -e*
运行脚本前先要保证自己的python环境中要有对应的模块,如果报没有模块错的话执行以下命令
pip install -r requirements.txt
200 成功扫描到 /.DS_Store 路径
浏览器访问,下载DS_Store文件
windows下查看DS_Store文件,发现无法正常显示内容
我们放到linux系统下,使用dsstore查看 DS_Store 文件 (dsstore下载地址)
我们在浏览器中访问这个txt文件,成功获得flag
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题
启动环境
先使用dirsearch扫描,发现git泄露
python3 dirsearch.py -u URL -e*
提示我们使用BugScanTeam的GitHack完成本题,这里我们使用GitHack克隆目录
GitHack下载地址(需要pyhton2和Git环境)https://gitcode.net/mirrors/BugScanTeam/GitHack?utm_source=csdn_github_acceleratorhttps://gitcode.net/mirrors/BugScanTeam/GitHack?utm_source=csdn_github_accelerator
克隆 .git
python2 GitHack.py URL
执行 git log 查看git的历史记录
git log
我们所在的是remove flag
但是我们需要回到add flag
这里有三种方法
第一种执行 git show
git show
第二种 执行回滚命令
git reset --hard
第三种
git diff
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题
这一关基本同上
我们先克隆下 .git 目录 并进入
执行以下命令
git stash list
第一个存储,即stash@{0}
git stash pop
恢复缓存的工作目录
我们会发现多了一个txt文件,使用cat 查看 即可获得flag
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题
老样子
git log
git show
当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞。
扫描目录 发现 .svn 泄露
我们使用dvcs-ripper工具
在linux下运行;
需要安装一些perl依赖:
sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl
然后需要安装svn服务:
apt-get install subversion
克隆网站泄露的.svn文件,用rip-svn.pl脚本:
./rip-svn.pl -v -u http://www.example.com/.svn
得到的还原目录数据在.svn目录下
进入pristine文件夹
依次进入 bf和e1文件夹 ,查看 svn-base文件成功找到flag
当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。
我们同样使用dvcs-ripper工具
./rip-hg.pl -v -u http://challenge-8c3c7133f57418b0.sandbox.ctfhub.com:10800/.hg
进入 .hg 发现一个txt文件,cat查看
存在有flag
为开头的文件,使用下面命令查找
grep -r flag *
我们发了 flag_3162714973.txt.i 文件
但是我们本地并没有找到
我们在浏览器中访问一下,成功获得flag!
http://challenge-8c3c7133f57418b0.sandbox.ctfhub.com:10800/flag_3162714973.txt
信息泄露 完结!!!