目录遍历
存在两层目录,且目录下的命名一致,容易误导,根据一层一层查看的方式去遍历
每次开启环境时,flag文件的位置会有变动,只要根据目录遍历的思路去找就好了
PHPINFO
备份文件下载
网站源码
根据提示,下载网站源码压缩包
打开发现有一个文件为flag编号
直接查看文本没有flag,去访问试试
<补充>
常见的网站源码备份文件后缀:
- tar
- tar.gz
- zip
- rar
常见的网站源码备份文件名 - web
- website
- backup
- back
- www
- wwwroot
- temp
根据该提示,可以编写测试脚本,这是我在网上找的 仅供参考
import requests
url = "http://challenge-c3c711c8d7b491a2.sandbox.ctfhub.com:10800/"
back1 = ['web','website','backup','back','www','wwwroot','temp']
back2 = ['tar','tar.gz','zip','rar']
for i in back1:
for j in back2:
url_new = url + i + '.' + j
r = requests.get(url_new)
if (r.status_code == 200):
print (url_new)
bak文件
index.php回显中没有flag
下载index.php.bak
<补充>
可以使用dirsearch扫描目录文件
安装:
git clone https://github.com/maurosoria/dirsearch.git
扫描内部文件:
python3 dirsearch.py -u 'url' -e*
/**kali自带了python3所以不用再安装了**/
使用该扫描工具时,要管理员权限,不然会报错
VIM缓存
直接扫描一下
访问该目录,下载下来
二进制文件打开
找到flag
.DS_Store
windows不行,下载下来的文件打开里面没有有效信息
换成linux(也可以直接把文件拖到linux里查看)
下载后打开
访问
<补充>
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
SVN泄露
参考:https://blog.csdn.net/tempulcc/article/details/108959901
参考:https://www.freesion.com/article/98721217183/
- 配置工具环境
git clone https://github.com/kost/dvcs-ripper
sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl
2.恢复.svn
./rip-svn.pl -v -u http://challenge-a111d17ddfd2f7cb.sandbox.ctfhub.com:10800/.svn/
或者
perl rip-svn.pl -v -u http://challenge-a111d17ddfd2f7cb.sandbox.ctfhub.com:10800/.svn/
提示缺少SQLite
安装该模块
[执行需要root权限]
perl -MCPAN -e shell
install DBD::SQLite
exit
安装完毕,再恢复.svn
- 进入.svn目录查找flag
flag存在的位置可能不同,去依次寻找就好了
HG泄露
同样使用dvcs-ripper工具
./rip-hg.pl -v -u http://challenge-a111d17ddfd2f7cb.sandbox.ctfhub.com:10800/.hg/
Git泄露
这个有点点多,我提出来单独记录了