什么是目录遍历攻击?
目录遍历攻击是一种蛮力攻击,它可以访问受限文件和目录。这种攻击还可以告诉攻击者有关 Web 应用程序的目录结构。通过保护 Web 内容和提供受控访问来确保 Web 应用程序的安全非常重要。
目录遍历攻击很容易实施,但结果可能是有害的,在黑客攻击中,数据意味着一切,如果攻击者获得任何重要或特权数据,这种简单的攻击可能会导致许多其他攻击。通过一些基本步骤通常很容易防止这种情况发生,但需要正确地遵循它们,不要处理不当。
工作方法
目录遍历攻击的工作非常简单。它基本上适用于 wordlist; wordlist 表示最常用于关键或有用文件和目录的单词。目录遍历基本上是在搜索单词列表中定义的所有单词时遍历网络服务器并使用 HTTP 状态代码恢复,这些代码基本上是对网络服务器发送的 URL 请求的响应。将返回一个数字代码,它可以显示文件是否存在,或者定义的 URL 是否有可能是错误的。
词表是此类攻击的基础,但如果攻击者将非常常用的词放入词表或之前使用过的词,或者更改文件名(最常见的情况),那么它可能会一事无成。因此,应该正确组织单词表以执行成功的攻击。
目录遍历漏洞
目录遍历漏洞是对来自用户的浏览器输入的过滤/验证不充分的影响。目录遍历漏洞通常位于 Web 服务器软件/文件期间或在服务器上执行的应用程序代码中。目录遍历漏洞可能存在于某种编程语言中,包括Python、 PHP、Apache 等。通常使用某些措施来防止目录遍历漏洞。
用于目录遍历攻击的工具
DIRBUSTER: DirBuster 是一个提供 GUI 界面的Java应用程序。它用于通过暴力破解文件和目录来查找隐藏文件,目的是获取一些有助于攻击的有价值信息。这种工具的有效性可以通过词表来确定,词表越有效,工具就越有效。
DIRB:它是一个基于 CLI(命令行界面)的网页扫描器,用 C 语言编写。 DIRB 的工作原理是在 Web 服务器上发起基于字典的攻击,结果显示隐藏的文件和目录。它带有预安装的文件和目录,但如果用户需要,他可以添加自己的搜索列表。 DIRB 通常用于 Web 应用程序测试或审计。
GOBUSTER: GoBuster 执行任务非常快。 GoBuster 是一个基于命令行界面 (CLI) 的工具,并且是用 Go 语言开发的。它没有预装。 GoBuster 有 3 种模式;一是DNS模式,用于查找给定域的子域,二是DIR模式,用于查找隐藏文件和目录,三是VHOST模式,用于发现服务器的虚拟主机;虚拟主机有时意味着一台服务器托管许多域,因此 GoBuster 可以找到它们。
好处
- DirBuster 提供了一个 GUI 界面,显然非常容易理解和使用。 DirBuster 经常受雇于没有喧嚣的人。
- 与其他目录暴力破解工具相比,GoBuster 非常快。 GoBuster 是用 Go 语言开发的,这种语言以速度着称。
- DIRB 非常易于使用,因为它支持命令行界面,用户只需键入 DIRB & 然后在提示符中输入 URL 就可以了。所以,这并不复杂。
- DIRB 是最常用的目录强制工具。它主要用于 Web 应用程序测试或审计。
- 在任何攻击之前,信息收集是必须的。因此,目录遍历工具主要用于查找有关服务器中文件和目录的详细信息。
缺点
- DirBuster 提供了一个 GUI 界面,这是一个优点也是一个缺点,因为它使用起来很简单,但它与 CLI(命令行界面)操作系统不兼容。
- 当用户使用一个小的词表时,DIRB 的工作速度非常快。但是如果单词表有点长,DIRB 的工作就会很慢。
- GoBuster 不支持递归遍历目录,这表明深度需要再次扫描的目录。
- 在 DirBuster 中,当用户尝试增加线程数以更快地获取结果时,它实际上会在连续出现 20 个错误后停止。
- DIRB 作为多线程有一个很大的缺点,因为它在目录暴力工具中有点帮助,但 DIRB 不支持,这使得这个工具非常慢。