CTFHub技能树-Web-信息泄露
文章目录
前言
一、目录遍历
点击开始寻找flag,看到一个目录页面
直接点击对目录进行遍历,最终在2/4找到flag.txt文件
单击打开即可获得flag
二、PHPINFO
点击查看phpinfo,可以看到如下界面
此时直接ctrl+f查找flag
三、备份文件下载
1.网站源码
根据提示,在url后接/www.zip,可自动下载得到一个源码文件
解压直接打开其中的flag文件发现是"where is flag ??"
将flag文件名放在url里进行访问,可得flag
2.bak文件
题注:当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
打开发现
于是在url后加/index.php.bak,打开该文件后即可得到flag
3.vim缓存
题注:当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
已知:当vim异常退出时,以index.php为例,
- 第一次产生 .index.php.swp
- 第二次产生 .index.php.swo
- 第三次产生 .index.php.swn
(这类隐藏文件调用前要加’.')
故这里直接在url后接/.index.php.swp,打开自动下载的文件即可得到flag
4.DS_Store
题注:.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
根据题意直接在url后接.DS_Store,得到文件打开,发现flag文件名
将文件名去掉空格接在url后,即可得到flag
四、Git泄露
1.Log
题注:当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题。
- git log 显示从最近到最远的提交日志
- git diff 简单的来说就是查看不同,具体用法如下:
git diff:是查看working tree与index的差别的。
git diff --cached:是查看index与repository的差别的。
git diff HEAD:是查看working tree和repository的差别的。其中:HEAD代表的是最近的一次commit的信息 - git reset 可用于回退版本库
根据题意使用GitHack工具,进入kali
输入python GitHack.py http://challenge-1ae35d014b3f1e7c.sandbox.ctfhub.com:10800/.git/
进入目录
输入git log查看提交日志
发现add flag操作
于是使用git reset回退命令来查看flag
ls后发现多了一个txt文件,查看得到flag
2.Stash
题注:当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题。
- git stash:能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录
- git stash list:查看当前stash中的内容
- git stash pop:将当前stash中的内容弹出,并应用到当前分支对应的工作目录上
打开kali,输入python GitHack.py http://challenge-875d46e9be342525.sandbox.ctfhub.com:10800/.git/
进入目录查看
输入git stash list查看stash发现flag,将其pop出
打开生成的文件,得到flag
3.Index
题注:当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题。
打开kali,如下使用GitHack,打开txt文件得到flag
五、SVN泄露
题注:当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞。
使用dvcs-ripper工具
输入./rip-svn.pl -v -u url/.svn
进入目录找到正确的flag
六、HG泄露
题注:当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。
如上类似地使用dvcs-ripper工具
输入./rip-hg.pl -v -u url/.hg
遍历目录,发现flag文件
在url后加上/flag_981226839.txt,得到flag
总结
目录遍历
PHPINFO:ctrl+f查找
备份文件下载:url后接文件名
Git泄露:GitHack工具、git命令
SVN泄露:dvcs-ripper工具、目录遍历
HG泄露:dvcs-ripper工具、目录遍历