目录扫描工具ffuf,dirb 和gobuster 作者: ynnddddd 时间: 2025-03-11 分类: 学业,网络安全,渗透工具与命令 以下是针对 **ffuf**、**dirb** 和 **gobuster** 这三个自动化工具的详细使用指南,涵盖功能对比、操作步骤及实战案例,适合作为渗透测试中目录爆破与内容发现的参考。 --- ## **工具对比** | 工具 | 核心特点 | 适用场景 | 性能优势 | |-----------|--------------------------------------------------------------------------|-----------------------------------|-------------------------------| | **dirb** | 简单易用,内置基础字典,支持自定义字典和扩展。 | 快速初探目标目录结构 | 资源占用低,适合老旧系统 | | **gobuster** | 多线程支持,速度快,支持目录爆破、子域名枚举、DNS查询等模式。 | 大规模目标的高效扫描 | 高并发,性能优异 | | **ffuf** | 高度灵活,支持模块化(目录爆破、参数模糊测试、子域名爆破等),功能最全面。 | 复杂场景的深度渗透测试 | 可定制性强,支持多维度攻击 | --- ## **1. dirb** **用途**:基于字典的目录/文件爆破工具,用于发现隐藏的Web路径。 ### **安装与基本命令** ```bash # Kali Linux 预装,手动安装: sudo apt install dirb ``` ### **基础使用** ```bash # 基本语法 dirb http://target.com/ [字典文件] [选项] # 示例:使用默认字典扫描目标 dirb http://example.com/ # 使用自定义字典(如 big.txt) dirb http://example.com/ /usr/share/wordlists/dirb/big.txt # 指定扩展名(如.php) dirb http://example.com/ -X .php # 忽略特定状态码(如忽略404) dirb http://example.com/ -N 404 ``` ### **常用选项** - `-w `:指定自定义字典文件。 - `-X `:添加文件扩展名(如 `.php,.bak`)。 - `-N `:忽略特定HTTP状态码。 - `-r`:非递归扫描(仅扫描一级目录)。 ### **实战案例** ```bash # 扫描目标并过滤有效结果(状态码200) dirb http://example.com/ -o results.txt cat results.txt | grep "CODE:200" ``` --- ## **2. gobuster** **用途**:高性能多线程目录/子域名爆破工具,支持多种模式。 ### **安装与基本命令** ```bash # Kali Linux 安装: sudo apt install gobuster # 或手动安装最新版(需Go环境): go install github.com/OJ/gobuster/v3@latest ``` ### **基础使用** ```bash # 目录爆破模式 gobuster dir -u http://example.com/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt # 子域名爆破模式 gobuster dns -d example.com -w /usr/share/wordlists/subdomains-top1million-5000.txt # VHost枚举模式 gobuster vhost -u http://example.com/ -w /usr/share/wordlists/subdomains-top1million-5000.txt ``` ### **常用选项** - `-u `:目标URL。 - `-w `:指定字典文件。 - `-t `:线程数(默认10)。 - `-x `:文件扩展名(如 `php,html`)。 - `-k`:跳过SSL证书验证。 - `-s `:显示特定状态码(如 `200,204,301`)。 ### **实战案例** ```bash # 快速扫描目标,过滤200/301/403状态码 gobuster dir -u http://example.com/ -w /usr/share/wordlists/dirb/common.txt -t 50 -x php,html -s 200,301,403 ``` --- ## **3. ffuf** **用途**:高度灵活的Web模糊测试工具,支持目录爆破、参数模糊测试、子域名枚举等。 ### **安装与基本命令** ```bash # Kali Linux 安装: sudo apt install ffuf # 或手动安装(需Go环境): go install github.com/ffuf/ffuf@latest ``` ### **基础使用** ```bash # 目录爆破 ffuf -w /usr/share/wordlists/dirb/common.txt -u http://example.com/FUZZ # 子域名枚举 ffuf -w /usr/share/wordlists/subdomains-top1million-5000.txt -u http://FUZZ.example.com # 递归扫描(发现目录后继续深入) ffuf -w wordlist.txt -u http://example.com/FUZZ -recursion ``` ### **高级功能** #### **1. 多字典联动** ```bash # 使用两个字典分别替换不同位置(如FUZZ1和FUZZ2) ffuf -w user.txt:FUZZ1 -w pass.txt:FUZZ2 -u http://example.com/login?user=FUZZ1&pass=FUZZ2 ``` #### **2. 过滤与匹配规则** ```bash # 匹配状态码200且响应大小非1234字节 ffuf -w wordlist.txt -u http://example.com/FUZZ -mc 200 -fs 1234 # 根据正则表达式过滤结果 ffuf -w wordlist.txt -u http://example.com/FUZZ -fr "error|not found" ``` #### **3. 参数模糊测试** ```bash # 对POST参数进行模糊测试(如搜索SQL注入点) ffuf -w /usr/share/wordlists/SecLists/Fuzzing/SQLi/quick-SQLi.txt -X POST -d "username=admin&password=FUZZ" -u http://example.com/login ``` ### **实战案例** #### **场景1:快速爆破隐藏目录** ```bash ffuf -w /usr/share/wordlists/dirb/common.txt -u http://example.com/FUZZ -t 100 -mc 200,301,403 ``` #### **场景2:子域名爆破与筛选** ```bash ffuf -w subdomains.txt -u https://FUZZ.example.com -mc 200 -ac -c -v ``` #### **场景3:API路径探测** ```bash ffuf -w api_endpoints.txt -u http://api.example.com/v1/FUZZ -H "Authorization: Bearer TOKEN" -mc 200 ``` --- ## **字典文件推荐** 1. **目录爆破**: - `/usr/share/wordlists/dirb/common.txt` - `/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt` - `SecLists/Discovery/Web-Content/raft-large-directories.txt` 2. **子域名枚举**: - `/usr/share/wordlists/subdomains-top1million-5000.txt` - `SecLists/Discovery/DNS/subdomains-top1million-20000.txt` 3. **参数模糊测试**: - `SecLists/Fuzzing/SQLi/quick-SQLi.txt` - `SecLists/Fuzzing/XSS/xss-payload-list.txt` --- ## **注意事项** 1. **合法性**:仅对授权目标进行测试,避免法律风险。 2. **速率控制**:使用 `-t`(线程数)或 `-rate`(ffuf)限制请求频率,防止触发WAF或封禁。 3. **结果验证**:手动检查工具返回的路径是否有效(避免误报)。 4. **字典优化**:根据目标特性定制字典(如添加行业相关关键词)。 --- 通过合理选择工具(如快速初探用 **dirb**,高性能扫描用 **gobuster**,复杂场景用 **ffuf**)并搭配优质字典,可显著提升渗透测试中信息搜集的效率与深度。 标签: none