信息泄露1-(目录遍历+PHPINFO+dirsearch目录扫描工具的使用+备份文件下载+bak文件+vim缓存+.DS_Store)
一.题目链接:
https://www.ctfhub.com/#/skilltree
这里还是把这一系列的题目全都完成
二.基础知识
2.1 vim缓存攻击
- 概念:当开发者使用vim编辑器修改服务器上的文件(如网页,配置文件)时,如果vim异常退出(如崩溃等),它会自动生成一个交换文件(swap file),通常以.swp为后缀。如果服务器未正确配置,这些.swp文件可能会被读取。
- 如何利用:将保存下来的文件,删除后缀
.swp,就可访问原始内容了
2.2 .DS_Store
- 概念:他是Mac OS保存文件夹的自定义属性的隐藏文件,通过.DS_Store可以知道这个目录里所有文件的清单
- 如何利用:直接在url后面输入这个后缀,下载后打开文件,查找关键词,可能一个可访问的文件
三.开始解题
3.1.目录遍历
1.根据题意要求,我们知道要目录遍历,那我们就一个一个目录的去翻,观察显示的目录规律,我们可以看见,先点击的在前面,后点击的在后面显示,于是会产生很多种组合,一个个尝试就发现在/4/1下的目录存在flag
2.第二种方法就是通过构造python脚本去遍历长度是否相同,如果文件名不同,那就可能存在flag
import requests
#主目录
url="http://你的环境ip/flag_in_here/"
#普通目录
urlothers="http://你的环境ip/flag_in_here/1/1/"
#获取普通目录下的响应内容
textothers=requests.get(urlothers)
#计算其文本长度
lengthothers=len(textothers.text)
for i in range(1,5):
for j in range(1,5):
#遍历子目录
urlkid=url+f'{i}/{j}/'
#子目录响应内容
textkid=requests.get(urlkid)
#子目录文本长度
lengthkid=len(textkid.text)
#比对当前子目录和普通子目录的长度
#当二者不同时可能包含有flag
if(lengthothers!=lengthkid):
print(urlkid)
3.2.PHPINFO
1.直接在文件下搜索关键词ctfhub,找到flag


3.3.备份文件下载
3.3.1.网站源码
1.阅读题目,我们知道此题的突破口可能在网站源码上

2.我们通过访问www.zip得到压缩包,下载发现flag文件,于是访问这个flag文件得到答案


3.当然我们也可以选择用dirsearch去匹配200状态
这里的dirsearch是一个kali工具,具体的安装使用步骤如下链接:
dirsearch -u http://challenge-edbfd8fdde7e098f.sandbox.ctfhub.com:10800/ -e * -x 301,400-499,500-599
//解释一下这里的参数:
-e * --》 探测目标较深入,探测所有扩展名
-x 301,400-499,500-599 --》 将301,400-499,500-599的过滤掉,只留下状态码正常的

3.3.2.bak文件
前言:什么是bal呢?和zip,tar类似,也是常见的网站源码备份文件后缀
1.根据题目提示,猜测就是直接.bak后缀就能得到答案

3.3.3.vim缓存
1.阅读题目,说是vim缓存,小白的我还是第一次接触,看看怎么回事

2.根据网上的wp,现在网页后输入/.index.php.swp,这是会下载一个文件,把它拖入kali,将后缀名删除,只留下index.php然后查看该文件,得到flag

3.3.4..DS_Store
1.通过阅读题目,我们得到了大概的信息,是不是访问这个后缀名就能得到答案了?


2.我们得到一个文件,将文件里的txt前面的正常字符都输入进url中,注意中间的空格要删除掉


浙公网安备 33010602011771号