博主介绍
博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
点赞➕评论➕收藏 == 养成习惯(一键三连)
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限,欢迎各位大佬指点,相互学习进步!
dirb是一个基于字典的web目录扫描工具,查找现有的(和/或隐藏的)Web对象,通过对Web服务器发起基于字典的攻击并分析响应的数据。 采用递归的方式来获取更多的目录,它还支持代理和http认证限制访问的网站,是在信息收集阶段获取目标信息常用工具手段。
DirBuster支持全部的Web目录扫描方式。它既支持网页爬虫方式扫描,也支持基于字典暴力扫描,还支持纯暴力扫描。该工具使用Java语言编写,提供命令行(Headless)和图形界面(GUI)两种模式。其中,图形界面模式功能更为强大。用户不仅可以指定纯暴力扫描的字符规则,还可以设置以URL模糊方式构建网页路径。同时,用户还对网页解析方式进行各种定制,提高网址解析效率。
命令行键入dirb命令即可
dirb
安装命令
sudo apt install dirb
依赖
libc6
libcurl4
dirb <url_base> [<wordlist_file(s)>] [options]
-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。
1、使用默认字典
dirb http://192.168.13.131:8081/ #192.168.13.131:8081为目标地址
2、指定字典
使用/usr/share/wordlists/dirb/big.txt 字典来扫描Web服务
dirb http://192.168.13.131:8081/ /usr/share/wordlists/dirb/big.txt
1、查看所有字典
cd /usr/share/wordlists/dirb
Ll
2、Dirb的默认字典:common.txt
/usr/share/dirb/wordlists/common.txt
```bash
>3、使用默认字典
```bash
http://192.168.13.131:8081:8081/
在很多情况下,我们需要在目标服务器上提取特定扩展名的目录,然后可以使用dirb扫描的-X参数。此参数接受文件扩展名,然后在目标服务器或计算机上搜索给定的扩展名文件。
dib http://192.168.13.131:8081/ -X .txt #192.168.13.131:8081为目标地址,.txt为我们需要搜索的指定扩展名文件
将dirb扫描的输出保存到文件中,方便记录维护,更好的可读性和将来参考,使用dirb扫描的参数-o可以将dirb扫描的输出保存在文本文件中
1、演示输出output.txt文件于默认目录
dirb http://192.168.13.131:8081/ -o output.txt #192.168.13.131:8081为目标地址, output.txt为将输出保存的文件名
2、输出位置可以加上路径,如:
/root/output.txt。
3、默认实在dirb目录下
/usr/share/wordlists/dirb/
ll
4、查看字典内容
cat output.txt
Status-Code元素是一个3位整数,其中Status-Code的第一位定义响应的类别,而后两位不具有任何分类作用
dirb http://192.168.13.131:8081/ -N 200 #192.168.13.131:8081为目标地址,200为我们忽略的状态码
忽略了他就不会产出
从前面的工作我们知道是有产出这里,是没有产出的,也就是说前面的产出状态码全部是200的
在不同情况下进行扫描时,有时会遇到无法处理由Dirb扫描创建的泛洪,因此在这些环境中,将扫描延迟一段时间是很重要的。在此参数中,以毫秒为单位提供时间
dirb http://192.168.13.131:8081/ -z 100 #192.168.13.131:8081为目标地址,100为我们给定的扫描延迟
默认情况下,dirb扫描以递归方式扫描目录。它将扫描目录,然后遍历该目录以扫描更多子目录。但是在某些情况下,如果时间不足,我们会将Dirb设置为不递归扫描。
1、-r不递归
dirb http://192.168.192.1/pikachu-master/ -r #192.168.13.131:8081为目标地址
2、默认:递归
再来看一下默认递归的,之前我是用的vulhub的一个靶场进行的演示,到这里我觉得现实的没那么清晰,我就使用了sqllabs的靶场
dirb http://192.168.192.1/pikachu-master/
404错误是HTTP状态代码,表示你尝试在其网站上访问的页面无法在其服务器上找到。404 Not Found错误消息经常由各个网站定制。在某些情况下,我们也需要找到404页。默认情况下,dirb会跳过这些页面,而我们如果想要查找这些页面,就需要使用-v参数。
dirb http://192.168.13.131:8081/ -v #192.168.13.131:8081为目标地址
404的都进行了显示,也就是整个字典都会被显示出来
HTTP身份验证/身份验证机制全部基于401状态代码和WWW身份验证响应标头的使用。
最广泛使用的 HTTP身份验证 机制是 Basic。
客户端将用户名和密码作为未加密的base64编码文本发送。
这里我们用vulhub/activemq/CVE-2016-3088环境进行演示,就是我之前文章,basic爆破里面的环境
1、错误账号密码,认证不通过
dirb http://192.168.13.131:8161/admin -u user:passwd #192.168.13.131:8161为目标地址,user:passwd为用户名和密码
认证不通过,没有产出
2、认证通过
dirb http://192.168.13.131:8161/admin -u admin:admin
认证成功继续扫描,有产出
使用–p选项可将代理URL用于所有请求,默认情况下,它可在端口1080上使用
dirb http://192.168.13.131:8081/ /usr/share/wordlists/dirb/big.txt –p 192.168.13.131:8082
#192.168.13.131:8081为目标地址,/usr/share/wordlists/dirb/big.txt为指定字典,192.168.13.131:8082为我们设置的代理地址以及端口
dirb http://192.168.13.131:8081/ -a "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0" -c "BAIDUID=D5C6351DAC89EF8811A51DF3A9A9C0C4:FG=1; HMACCOUNT=2906306413846532; BIDUPSID=D5C6351DAC89EF8811A51DF3A9A9C0C4; PSTM=1585744543; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; H_PS_PSSID=30974_1438_31124_21098; HMVT=6bcd52f51e9b3dce32bec4a3997715ac|1587436663|; delPer=0; PSINO=6; BDRCVFR[gltLrB7qNCt]=mk3SLVN4HKm"