本文dirsearch 工具与ctf题目vim临时文件泄露相关
可配套ctfshow--VIP题目限免(包含原理和知识拓展)前10个-CSDN博客学习
为什么要下载
在 Web 题目(特别是 CTF 或渗透测试)中,靠手动猜目录(比如index.php,admin.php)效率太低了。使用工具进行目录扫描(Directory Brute-forcing)是发现隐藏入口、备份文件或泄露配置的最快方法。
针对.swp泄露或.git泄露,工具的作用就是帮你批量尝试各种可能的文件名。
以下是几款最主流的工具及其使用方法,按推荐程度排序:
1. Dirsearch (最推荐,Python 编写)
这是目前 CTF 和渗透测试中最常用的工具,轻量、简单且功能强大。它自带了一个很全的字典。
- 安装:
git clone https://github.com/maurosoria/dirsearch.git cd dirsearch - 基本用法(扫描目标网站):
python3 dirsearch.py -u http://target-ip-or-domain - 针对你情况的用法(指定扩展名):
如果你想找.swp文件或者 PHP 源码,可以指定后缀,这样扫描更精准:# 扫描 .php 和 .swp 结尾的文件 python3 dirsearch.py -u http://target-ip -e php,swp,txt,bak - 递归扫描(深入子目录):
python3 dirsearch.py -u http://target-ip -r
2. Gobuster (速度最快,Go 编写)
如果你需要极快的扫描速度,或者目标服务器对连接数有限制,Gobuster 是最佳选择。它是单文件二进制,不需要安装 Python 环境。
- 安装(Linux/Kali):
sudo apt install gobuster - 基本用法:
你需要指定一个字典文件(-w),Kali 中通常自带common.txt。gobuster dir -u http://target-ip -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt - 指定后缀扫描(找 .swp):
gobuster dir -u http://target-ip -w /path/to/wordlist.txt -x php,swp,html
3. DirBuster (图形化界面,Java 编写)
如果你不习惯用命令行,DirBuster 是经典的图形化工具。
- 特点:点点鼠标就能用,有进度条和可视化结果。
- 缺点:比较老旧,扫描速度比上面两个慢,且经常报 Java 错误。
- 用法:打开软件 -> 输入目标 URL -> 选择字典文件 -> 点击 Start。
4. 御剑后台扫描珍藏版 (Windows 经典)
这是国内非常老牌的工具,很多老派的 CTF 选手喜欢用。
- 特点:Windows 下的
.exe程序,界面简单粗暴,内置的字典对国内 CMS 和常见后台路径支持很好。 - 用法:输入域名,点击“开始扫描”。
💡 核心技巧:字典的重要性
工具只是“枪”,字典才是“子弹”。扫描不到东西通常不是因为工具不行,而是字典里没有你要找的词。
- 通用字典:包含常见的
admin,login,test等。 - 扩展名字典:针对你的
.swp题目,你需要确保字典里包含.index.php.swp,.config.php.swp这种特定的命名规则,或者使用工具的参数(如 dirsearch 的-e)来自动拼接。 - 敏感文件字典:专门收集
.git,.svn,.DS_Store,.bak,.swp等泄露文件路径的字典。
📌 总结
对于你遇到的Vim 临时文件泄露题目,建议使用Dirsearch,因为它支持直接指定后缀(-e swp),能帮你自动把字典里的index,config等词变成.index.php.swp这种格式去尝试,非常高效。
具体怎么安装Dirsearch
安装dirsearch非常简单,它基于 Python 开发,so只要你电脑装了 Python,基本都能跑起来。
考虑到你可能是在Kali Linux(CTF 常用系统)或者Windows上操作,我为你整理了两种最稳妥的安装方式。
🐧 方式一:在 Kali Linux 中安装(推荐)
Kali 是 CTF 选手的首选系统,有两种方法可以安装。
方法 A:Git 源码安装(最推荐,版本最新)
这是安全从业者最常用的方式,能保证你用到最新的功能和字典。
- 打开终端,输入以下命令克隆项目:
git clone https://github.com/maurosoria/dirsearch.git - 进入目录:
cd dirsearch - 安装依赖(如果提示缺少库):
(注:如果下载慢,可以加上国内源参数:pip3 install -r requirements.txt-i https://pypi.tuna.tsinghua.edu.cn/simple) - 运行:
如果显示了帮助信息,说明安装成功!python3 dirsearch.py -h
出现报错怎么办
我在安装的时候显示连接问题,Kali 连不上 GitHub。这在大陆的网络环境下非常常见,GitHub 的访问经常不稳定或者被阻断。
这里有几个解决办法,按推荐程度排序:
方法一:直接用 Kali 自带的版本(最快)
Kali Linux 官方源里其实已经收录了dirsearch,虽然版本可能不是最新的,但做题完全够用了,而且下载速度极快。
直接运行这个命令:
sudo apt update sudo apt install dirsearch安装完成后,你不需要cd进什么目录,直接在终端输入dirsearch就能用了。
方法二:使用 GitClone 的国内代理
如果你非要用 GitHub 上的最新版,可以使用国内的代码托管平台(如 Gitee)作为“中转”,或者使用 GitHub 的加速服务。
试着运行这个命令(利用gitclone.com的代理服务):
git clone https://gitclone.com/github.com/maurosoria/dirsearch.git如果这个能成功,你就可以继续cd dirsearch了。
方法三:手动下载 ZIP 包
如果上面都不行,你可以在 Windows 的浏览器里下载代码,然后传到 Kali 里。
- 在 Windows 浏览器访问
https://github.com/maurosoria/dirsearch。 - 点击绿色的
Code按钮,选择Download ZIP。 - 把下载好的压缩包拖进 Kali 桌面(或者通过文件管理器复制进去)。
- 在 Kali 里右键解压,或者用命令解压:
unzip dirsearch-master.zip mv dirsearch-master dirsearch cd dirsearch
方法 B:APT 直接安装(最简单,但版本可能较老)
如果你不想配置环境,可以直接用 Kali 的包管理器安装,但版本可能不是最新的。
sudo apt update sudo apt install dirsearch -y安装完后,直接在终端输入dirsearch即可运行。
🪟 方式二:在 Windows 中安装
如果你是在自己的 Windows 电脑上做题,步骤也很简单。
- 确保安装了 Python:
- 去 Python 官网下载并安装 Python 3.x。
- 重要:安装时务必勾选"Add Python to PATH"(添加到环境变量),否则后面会报错。
- 下载 dirsearch:
- 访问 GitHub 项目页:https://github.com/maurosoria/dirsearch
- 点击绿色的Code按钮,选择Download ZIP。
- 下载后解压到一个你喜欢的文件夹(比如
D:\Tools\dirsearch)。
- 安装依赖:
- 在文件夹空白处,按住
Shift+鼠标右键,选择“在此处打开 Powershell 窗口”。 - 输入命令:
pip3 install -r requirements.txt
- 在文件夹空白处,按住
- 运行:
- 在同一个窗口输入:
python3 dirsearch.py -h - 或者直接用鼠标双击
dirsearch.py(但这通常闪退,建议用命令行)。
- 在同一个窗口输入:
💡 避坑指南(常见问题)
- 报错
ModuleNotFoundError: No module named 'requests':
这是因为没安装依赖库。请确保你执行了pip3 install -r requirements.txt。 - 报错
pip: command not found:
说明你没装 pip。在 Kali 里执行sudo apt install python3-pip即可。 - 想全局调用:
如果你是用 Git 下载的源码,每次都要cd进目录很麻烦。你可以给它建个软链接(仅限 Linux):
这样你在任何目录直接输入sudo ln -s $(pwd)/dirsearch.py /usr/local/bin/dirsearchdirsearch就能启动了。
安装好后,你就可以用我之前教你的命令去扫描.swp文件啦!
如何使用dirsearch
最基础的扫描(扫整个网站)
如果你只是想看这个网站有哪些目录(比如/admin,/images,/css等),直接用这个命令:
dirsearch -u 目标网址举个例子:
如果你想扫描http://192.168.1.5,就输入:
dirsearch -u http://192.168.1.5(按回车,然后等着看结果就行)
针对你刚才需求的扫描(找 .swp 或 .php 文件)
你之前想找.index.php.swp,这种属于特定后缀的文件,我们需要加一个-e参数来指定后缀名。
命令格式:
dirsearch -u 目标网址 -e 后缀名针对你的题目,建议用这个命令:
dirsearch -u http://192.168.1.5 -e swp,php,bak,txt(解释:这个命令会让工具专门帮你找以.swp,.php,.bak,.txt结尾的文件,效率更高)
怎么看结果?
- Status(状态码):
- 200:表示找到了!这是你最需要关注的(比如发现了
index.php.swp)。 - 301/302:表示跳转了(比如访问
/admin跳转到了/login)。 - 403:表示禁止访问(没权限)。
- 404:表示没找到。
- 200:表示找到了!这是你最需要关注的(比如发现了
- Size(大小):文件的大小,有时候 0 大小的文件不用管。