网页内容发现利器:Gobuster使用指南

本文详细介绍了Gobuster工具在网页内容发现中的应用,包括安装步骤、基本使用方法以及高级参数调优技巧,帮助安全测试人员有效发现隐藏的Web目录和文件。

网页内容发现,你该找谁?Gobuster!

在网络测试,特别是大型网络测试中,最好的早期步骤之一是运行EyeWitness工具,以快速了解环境中存在哪些类型的Web应用程序。

在某些情况下,有价值的信息可能直接显示在安全性较差的Web应用程序的主页上。其他时候,您可能从HTTP头和源代码中获取易受攻击软件的名称和版本号,然后利用已知漏洞。有时,获取软件的管理员访问权限就像查找Web内容管理服务的手册,然后输入管理员门户的默认URL和默认凭据一样简单。

但对于那些没有提供太多信息的Web应用程序呢?也许根目录返回空白页面或HTTP 404“未找到”错误,并且HTTP头显示最新的软件版本号或根本没有有用信息。这时,自动化猜测就可以派上用场。

脚本和自动化工具可用于检查可能在Web服务器上运行的常见文件和目录。其中一个工具是gobuster。

安装Gobuster

根据您的操作系统,您可能可以直接使用包管理器安装gobuster。否则,gobuster可以在任何可以运行最新版本Go编程语言的系统上运行。对于后一种方法,您首先需要在此处下载最新版本的Go:https://golang.org/dl/,然后使用此处的说明进行安装:https://golang.org/doc/install。

设置好Go后,只需运行命令go install github.com/OJ/gobuster/v3@latest即可安装最新版本的gobuster。“go install”命令会将gobuster可执行文件放置在$GOPATH/bin$HOME/go/bin目录中。

运行Gobuster

为了演示gobuster的用法,我设置了一个包含几个文件的目录,并使用Python 3的简单HTTP服务器在本地托管它们。您可以通过创建一个包含要托管的文件的目录,导航到该目录,然后使用以下命令自行操作:

1
python3 -m http.server 8000 --bind 127.0.0.1

接下来,在包含gobuster可执行文件的目录中,再创建两个文件——一个包含要检查的文件名列表,另一个包含目录名列表。我使用了SecLists的raft-medium-directories.txt和raft-medium-files.txt列表。使用以下命令检查服务器是否有您列表中的任何目录:

1
gobuster dir -u http://127.0.0.1:8000/ -w raft-medium-directories.txt

在输出部分,我们可以看到gobuster找到了/important目录。现在,我将检查该目录是否存在我另一个列表中的任何文件:

1
gobuster dir -u http://127.0.0.1:8000/important/ -w raft-medium-files.txt

现在,gobuster已经识别出一个文件/secret.html。导航到该文件返回一个( admittedly low-effort)包含机密数据的网页表示。

微调Gobuster

由于本示例中使用的Web服务器是极简的,最简单的gobuster命令返回了有趣且易于解析的输出。对于生产Web服务器,通常情况并非如此。一些更常用的Gobuster参数包括:

  • --user-agent:使用浏览器的用户代理字符串,增加Web服务器返回有效响应的可能性。
  • --timeout:增加超时持续时间,减少错过响应缓慢服务器托管的页面的可能性。
  • --no-tls-validation:不要求TLS验证。
  • --exclude-length:不显示指定长度的HTTP响应结果。
  • --status-codes:指定哪些HTTP响应代码应解释为Web应用程序返回有效文件。这可以减少假阴性。
  • --status-codes-blacklist:指定哪些HTTP响应代码不应解释为Web应用程序返回有效文件。这可以减少假阳性。

一如既往,请确保在运行这些工具之前,您有权限测试目标Web应用程序!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计