信息泄露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中,注意中间的空格要删除掉

posted @ 2025-04-22 19:04  sun010  阅读(65)  评论(0)    收藏  举报