Gobuster 作者: ynnddddd 时间: 2025-03-06 分类: 网络安全,渗透工具与命令 Gobuster 是一个基于 Go 语言开发的快速目录/文件扫描工具,常用于渗透测试或 CTF 比赛中枚举 Web 目录、子域名、虚拟主机等。以下是其核心用法和常见场景: --- ### **1. 基础语法** ```bash gobuster <模式> [参数] ``` --- ### **2. 常用模式** #### **(1) 目录/文件扫描 (`dir` 模式)** 扫描目标网站的隐藏目录或文件(默认模式): ```bash gobuster dir -u http://example.com -w /path/to/wordlist.txt ``` - `-u`:目标 URL。 - `-w`:字典文件路径(如 `common.txt`、`directory-list-2.3-medium.txt`)。 **示例输出**: ``` /admin (Status: 301) /backup.zip (Status: 200) /robots.txt (Status: 200) ``` #### **(2) DNS 子域名爆破 (`dns` 模式)** 枚举子域名: ```bash gobuster dns -d example.com -w /path/to/subdomains.txt ``` - `-d`:目标域名。 - `-w`:子域名字典(如 `subdomains-top1million-5000.txt`)。 **示例输出**: ``` Found: mail.example.com Found: dev.example.com ``` #### **(3) 虚拟主机发现 (`vhost` 模式)** 检测目标 IP 的虚拟主机(基于 HTTP Host 头): ```bash gobuster vhost -u http://192.168.1.1 -w /path/to/vhosts.txt ``` --- ### **3. 常用参数** | 参数 | 说明 | 示例 | |------|------|------| | `-t` | 线程数(默认 10) | `-t 50` | | `-x` | 扩展名(扫描特定后缀文件) | `-x php,txt,zip` | | `-s` | 仅显示指定状态码 | `-s 200,301` | | `-b` | 排除指定状态码 | `-b 403,404` | | `-k` | 跳过 SSL 证书验证(HTTPS) | `-k` | | `-H` | 添加 HTTP 头 | `-H "Cookie: auth=1"` | | `-a` | 自定义 User-Agent | `-a "Mozilla/5.0"` | | `-o` | 输出到文件 | `-o result.txt` | --- ### **4. 高级用法** #### **(1) 递归扫描** 扫描多级目录(需谨慎,可能产生大量请求): ```bash gobuster dir -u http://example.com -w wordlist.txt --expand -r ``` #### **(2) 代理支持** 通过代理(如 Burp Suite)扫描: ```bash gobuster dir -u http://example.com -w wordlist.txt -x 80 --proxy http://127.0.0.1:8080 ``` #### **(3) 静默模式** 仅输出结果,不显示进度: ```bash gobuster dir -u http://example.com -w wordlist.txt -q ``` --- ### **5. 常见场景** #### **(1) CTF 中寻找 Flag** ```bash gobuster dir -u http://challenge.site -w /usr/share/wordlists/SecLists/Discovery/Web-Content/raft-small-words.txt -x php,txt ``` #### **(2) 检测敏感文件** ```bash gobuster dir -u http://target.com -w /path/to/wordlist.txt -x bak,zip,sql ``` #### **(3) 快速扫描存活端口** 结合 `gobuster` 和 `nmap`: ```bash nmap -p- target.com --open | grep open gobuster dir -u http://target.com -w wordlist.txt -t 100 ``` --- ### **6. 注意事项** 1. **字典选择**:使用高质量字典(如 [SecLists](https://github.com/danielmiessler/SecLists))。 2. **合法性**:仅在授权范围内使用,避免法律风险。 3. **速率限制**:高线程可能触发目标服务器的防护机制(如 IP 封禁)。 --- ### **示例命令** ```bash # 扫描常见目录(HTTP) gobuster dir -u http://example.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 50 -x php,txt # 扫描 HTTPS 站点并跳过证书验证 gobuster dir -u https://example.com -w wordlist.txt -k # 子域名爆破 gobuster dns -d example.com -w /usr/share/wordlists/subdomains-top1million-5000.txt ``` 如果需要更详细的参数说明,可查看帮助: ```bash gobuster --help ``` 标签: none