Dirbuster 这个工具被用通过暴力破解的手段来发现一个 Web 站点存在的文件和目录。在这一节,我们将使用它来搜索指定的文件和目录列表(例如包含特定关键词的文件和目录列表)。
实施步骤
首先,打开我们的漏洞靶机:Vulnerable_VM 【配置参见:测试环境搭建】
这里我们把检索用到的关键词放在一个叫做 dictionary.txt 的文件里面,一会儿让 Dirbuster 根据文件里的关键词去查找相关文件。这里我们先把这个文件放在 Kali 测试机的 /root/ 目录下面。
info
server-status
server-info
cgi-bin
robots.txt
phpmyadmin
admin
login
现在我们在 Kali 上打开 Dirbuster 软件 (Applications -> 03 - Web Application Analysis -> Web Crawlers & Directory Brut... -> dirbuster)。
如图所示,我们进行以下配置:
- 设置目标URL:http://192.168.150.143/
- 线程数设置为:20
- 扫描类型选:LIst based brute force
- 选取存有扫描关键词清单的 dictionary.txt 文件
- 取消选中:Be Recursive
- 其他选项保留默认即可
现在点击 Start 按钮:
看下面这张图,我们切换到 Result 标签页,可以看到已经扫描出了 phpmyadmin 相关文件。相应代码为 200 的表示文件可访问。Phpmyadmin 是一个基于 Web 的 MySQL 数据库管理工具,这说明这台服务器上很可能存在一个 DBMS,进而可以在 DB 里发现跟应用或用户相关的其他信息。
总结
Dirbuster 是 Crawler 和 Brute Forcer 的混合体,它会跟进找到的页面中的所有链接,同时也不断尝试可能存在的文件的名字。这些名字可能是我们在字典里预先存放的,也有 Dirbuster 自动生成的(当我们选择 pure brute force ,并且配置 **Char set、Min length、Max Length的时候,这些是生成名字的规则)。
Dirbuster 使用Server的返回值来确认文件是否存在:
- 200 OK:表示文件存在且可以访问
- 404 File not found:文件在服务器上不存在
- 301 Moved permanently:这个是跳转到指定 URL
- 401 Unauthorized:访问该文件需要授权
- 403 Forbidden:请求时有效的,但服务器拒绝响应