Kali Linux下Dirb工具web网站目录爆破指南

在本文中,咱们将重点介绍使用Kali Linux工具DIRB的临时目录,并尝试在Web服务器中查找隐藏的文件和目录。php

一个路径遍历攻击也被称为“目录遍历”目标访问的文件和目录存储在Web根文件夹以外。经过使用带有“ ..”的序列的引用文件及其变体来操纵变量,或者使用绝对文件路径,能够访问存储在文件系统上的任意文件和目录,包括应用程序源代码,配置,和重要的系统文件。node

要求web

目标-BWAPP实验室,DVWA实验室,shell

攻击者– Kali Linux浏览器

本文的内容安全

  • DIRB介绍服务器

  • 利用多个单词表进行目录遍历微信

  • Dirb的默认工做cookie

  • 列举具备特定扩展名列表的目录网络

  • 将输出保存到磁盘

  • 忽略没必要要的状态码

  • 默认工做Vs在警告消息中不中止工做

  • 速度延迟

  • 不递归(-r)

  • 显示不存在页面

  • 扩展列表(-X参数)与扩展头(-H参数)

  • 不对网址(-t)强制使用结尾的“ /”

  • HTTP身份验证(-u用户名:密码)

什么是DIRB?

DIRB是一个Web内容扫描程序。它查找现有的(和/或隐藏的)Web对象。它基本上是经过对Web服务器发起基于字典的攻击并分析响应来工做的。

它带有一组易于使用的预配置攻击词表,但您可使用自定义词表。此外,DIRB有时能够用做经典的CGI扫描仪,但请记住是内容扫描仪,而不是漏洞扫描仪。

主要目的是帮助进行专业的Web应用程序审核。特别是在与安全性相关的测试中。它涵盖了经典Web漏洞扫描程序未涵盖的一些漏洞。DIRB寻找其余通用CGI扫描程序没法找到的特定Web对象。它既不搜索漏洞,也不搜索容易受到攻击的Web内容。

资料来源:https://tools.kali.org/web-applications/dirb

工具DIRB是内置的Kali Linux。打开终端并键入如下命令以获取软件包中包含的工具的概述:

rb

-a <agent_string>:指定您的定制USER_AGENT。 -c <cookie_string>:为HTTP请求设置cookie。 -f:精细调整NOT_FOUND(404)检测。 -H <header_string>:将自定义标头添加到HTTP请求。 -i:使用不区分大小写的搜索。 -l:找到时打印“ Location”标题。 -N <nf_code>:忽略此HTTP代码的响应。 -o <输出文件>:将输出保存到磁盘。 -p <代理[:端口]>:使用此代理。(默认端口为1080) -P <proxy_username:proxy_password>:代理身份验证。 -r:不要递归搜索。 -R:交互式递归。(询问每一个目录) -S:静默模式。不要显示通过测试的单词。(用于哑终端) -t:不要在网址上强制使用结尾的“ /”。 -u <用户名:密码>:HTTP身份验证。 -v:也显示NOT_FOUND页。 -w:不要在警告消息上中止。 -X <扩展名> / -x <扩展名文件>:在每一个单词后加上该扩展名。 -z:添加毫秒延迟,以避免致使过多的Flood。




利用多个单词表进行目录遍历

上面的攻击经过使用默认的wordlist_files common.txt起做用,可是咱们能够更改此单词列表,并能够选择另外一个单词列表进行目录遍历。您必须按照如下路径查看全部可用的单词表。


1234

cd /usr/share/wordlists/dirbls –lacd /usr/share/wordlists/vulnsls -la



您能够从下面的图像中看到,有不少文本文件做为wordlist。咱们能够根据须要使用它们。




Dirb的默认工做

在此攻击中,common.txt被设置为目录遍历的默认单词列表,抗议者可使用如下命令。打开终端,而后键入如下命令以启动“布鲁塞尔电话簿”攻击。


1

dirb http://192.168.1.106/dvwa/



DIRB使用common.txt文件返回在目标URL中找到的枚举目录,以下图所示。




列举具备特定扩展名列表的目录

在不少状况下,咱们须要在目标服务器上提取特定扩展名的目录,而后可使用dirb扫描的-X参数。此参数接受文件扩展名,而后在目标服务器或计算机上搜索给定的扩展名文件。


1

dirb http://192.168.1.106/dvwa/ -X .php



上面的命令将提取与php扩展名相关的全部目录路径,以下图所示。




将输出保存到磁盘

出于记录维护,更好的可读性和未来参考的目的,咱们将dirb扫描的输出保存到文件中。为此,咱们将使用dirb扫描的参数-o能够将dirb扫描的输出保存在文本文件中。


1

dirb http://192.168.1.106/dvwa/ -o output.txt



上面的命令将在枚举目录的桌面上生成一个output.txt文件。




既然咱们已经成功执行了命令,如今让咱们遍历该位置以确保输出是否已经保存在文件上。在这种状况下,咱们的输出位置是/root/output.txt。




忽略没必要要的状态码

Status-Code元素是一个3位整数,其中Status-Code的第一位定义响应的类别,然后两位不具备任何分类做用。在这种攻击中,咱们在代码302上使用–N参数,以下所示。


1

dirb http://192.168.1.106/dvwa/ -N 302



从给定的屏幕快照中您能够了解到,dirb扫描忽略了NOT FOUND代码302。




默认工做与警告消息不间断不间断工做

在以下所示的常规Dirb扫描期间,某些页面会生成警告;Dirb扫描会跳过那些遇到任何警告的目录。


1

dirb http://192.168.1.106/






在进行很是深刻且冗长的扫描时,咱们但愿dirb扫描不要避免这些警告并进行深刻扫描,所以咱们使用dirb扫描的-w参数。


1

dirb http://192.168.1.106/ -w



如您所见,即便在默认扫描中缺乏警告消息以后,也会列出突出显示的目录/ dev / shell




速度延迟

在不一样状况下工做时,咱们遇到了某些环境,没法处理由Dirb扫描建立的泛洪,所以在这些环境中,将扫描延迟一段时间是很重要的。使用dirb扫描的-z参数能够轻松完成此操做。在此参数中,以毫秒为单位提供时间。就像在给定示例中所示,咱们给了100秒的延迟。


1

dirb http://192.168.1.106/dvwa -z 100






不递归(-r)

默认状况下,dirb扫描以递归方式扫描目录。这意味着它将扫描目录,而后遍历该目录以扫描更多子目录。可是在某些状况下,若是时间不足,咱们会将Dirb设置为不递归扫描。这可使用-r参数来实现。


1

dirb http://192.168.1.106/dvwa -r






显示不存在页面

404错误是HTTP状态代码,这意味着您尝试在其网站上访问的页面没法在其服务器上找到。404 Not Found错误消息常常由各个网站定制。在某些状况下,咱们也须要找到404页,默认状况下,dirb会跳过。要查找这些页面,咱们将使用-v参数。


1

dirb http://192.168.1.106/dvwa -v



从下面的图像中能够看到,它还提取了全部与404错误相关的目录。




扩展列表(-X参数)与扩展头(-H参数)

经过将–X参数与具备特定扩展名(例如.php)的目标URL一块儿使用,它枚举了全部具备.php扩展名的文件或目录,但经过将–H参数与特定扩展名一块儿使用(例如.php与目标URL一块儿)它将枚举用php命名的全部文件或目录,以下图所示。


1

dirb http://192.168.1.106/dvwa -H .php






不对网址(-t)强制使用结尾的“ /”

从前面状况中使用的攻击开始,为了运行dirb工具,咱们将不得不在URL的末尾添加一个正斜杠(/)以便在dirb中接受。为了检查咱们是否须要对URL末尾进行一次无正斜杠的攻击。


1

dirb http://192.168.1.105/bwapp/portal.php



您会发现,因为缺乏正斜杠,所以扫描未成功执行,咱们在本文前面已讨论了其重要性。

使用相同的命令并进行一些更改后再次尝试这种攻击,所以,要运行该命令,咱们必须在上一个命令中添加-t。


1

dirb http://192.168.1.105/bwapp/portal.php -t



如今,咱们能够观察到即便没有正斜杠,咱们仍然能够成功执行dirb扫描。




HTTP受权(-u用户名:密码)

HTTP身份验证/身份验证机制所有基于401状态代码和WWW身份验证 响应标头的使用。最普遍使用的 HTTP身份验证 机制是 Basic。客户端将用户名和密码做为未加密的base64编码文本发送。

所以,为了在dirb的帮助下绕过这种身份验证,咱们使用了如下命令:


1

dirb http://testphp.vulnweb.com/login.php -u test:test



结果,将显示测试的状态码200:目标URL上的测试和受权凭证。




代理网址

使用– p选项可将代理URL用于全部请求,默认状况下,它可在端口1080上使用。您能够观察到,在Web浏览器中浏览目标网络IP时,它显示了“禁止访问错误”,这表示该网页是在某些代理后面运行。




为了确保这一预测,咱们两次运行了dirb命令,首先在默认状况下在端口80上运行,再在端口3129上运行–p选项(启用代理参数)。


12

dirb http://192.168.1.108dirb http://192.168.1.108 –p 192.168.1.108:3129



从下面给出的图像中,您能够参考从以上命令得到的输出结果,这里在执行第一个命令时没有得到任何目录或文件,而在第二个命令中其余执行成功了。



本文分享自微信公众号 - 网络安全与信息技术(chuanqzk)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索