phpinfo
直接Ctrl+f搜索flag
备份文件下载
网站源码
最常见的我觉得应该就是www.zip了
还真有,下载后发现flag的文本文档
里边没东西
将文件名输入到网址后边就出flag了
bak文件
题目是bak文件,那flag必然在index.php.bak中
直接出flag
vim缓存
vim缓存会出现两种文件:
一种临时文件:
vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件,如果原文件名是submit,则它的临时文件
submit.swp。如果文件正常退出,则此文件自动删除。
一种备份文件
默认情况下使用Vim编程,在修改文件后系统会自动生成一个带~的备份文件,某些情况下可以对其下载进行查看;
eg:index.php普遍意义上的首页,输入域名不一定会显示。 它的备份文件则为index.php~
在地址栏输入index.php没有反应,那就试试.index.php.swp,存在这个文件下载并用记事本打开:
“./”:代表目前所在的目录。
" . ./"代表上一层目录。
“/”:代表根目录。
.DS_Store
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
http://challenge-47f18c4334ba2ac3.sandbox.ctfhub.com:10800/.DS_Store
得到DS_Store这个文件,打开后发现下面的字符串
去除空格后在浏览器访问
Git泄露
Log
GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注射等web安全漏洞。
工作原理
- 解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 )
- 去.git/objects/ 文件夹下下载对应的文件
- zlib解压文件,按原始的目录结构写入源代码
注意:githack一定要在python2环境下运行
python2 Githack.py http://challenge-aa4710538fd5e846.sandbox.ctfhub.com:10800/.git/
然后进入到dist目录下,使用git log
(显示从最近到最远的提交日志。)
我们可以看出一共有3个日志,一次是init初始化现有仓库,之后执行了add flag 和remove flag,可以判断出flag实在add flag中,所以这题有两种解法:
1、直接查看add flag和remove flag这两个版本的不同,git diff可以实现。
2、退回到之前的版本,git reset可以实现。
解法一:
直接出flag
解法二:
退回之前的版本,发现有三个文件,想必flag一定在txt文件中
git reset --hard 60afd23ce0a9f11ae576ab5477adb679cb47d4bb
reset --hard 会在重置 HEAD 和branch的同时,重置stage区和工作目录里的内容。当你在 reset 后面加了 --hard 参数时,你的stage区和工作目录里的内容会被完全重置为和HEAD的新位置相同的内容。换句话说,就是你的没有commit的修改会被全部擦掉。
再回到目录下看
stash
解法一:
依旧用
python2 GitHack.py http://challenge-1c1b053f21ee3a48.sandbox.ctfhub.com:10800/.git
然后通过git stash list
查看被隐藏的文件列表
git stash pop //默认恢复git栈中最新的一个stash@{num},建议在git栈中只有一条的时候使用,以免混乱
Index
Githack跑完之后,回到文件目录下,Git bash here
git log //查看日志
git reset --hard 2900d776618ad9d1089f1d5c90f16fee4e5a3f00 //退回之前的版本
发现txt文档
也可以通过:
git ls-files
显示有关索引和工作树中文件的信息
SVN泄露
使用dirsearch扫描发现
需要用到dvcs-ripper
这个工具
安装dvcs-ripper
git clone https://github.com/kost/dvcs-ripper.git
安装依赖包
apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl
安装失败,先执行下面的命令,再重新执行
apt-get update
dvcs-ripper工具用法:
./rip-svn.pl -v -u http://challenge-563ffc1ab84bbca7.sandbox.ctfhub.com:10800/.svn/
然后在工具的所在目录下生成了.svn文件夹但是由于隐藏,我们使用
ls -al
可以发现.svn文件
tree .svn
查看到各个文件以及子文件
想必pristine下的文档就是flag了
HG泄露
还是用dvcs-ripper,
./rip-hg.pl -v -u http://challenge-60b6377cfaa34349.sandbox.ctfhub.com:10800/.hg/
发现.hg文件
浏览器访问: