wfuzz-爆破工具

  1. 1 wfuzz
    1. 1.1 基本使用
    2. 1.2 高级用法
      1. 1.2.1 迭代器(多个参数迭代规则)
      2. 1.2.2 编码转换功能
      3. 1.2.3 插件功能(scripts)
      4. 1.2.4 其他高级功能

1 wfuzz

该工具可以提供的主要功能包括:

  • 目录扫描
  • 找参数
  • 密码爆破 username password
  • 找 SQL,XSS
  • 压力测试

该工具自带字典路径(kali 2024 版)
/usr/share/wfuzz/wordlist

1.1 基本使用

1、目录扫描

命令:wfuzz -w dir.txt --hc 404 http://testphp.vulnweb.com/FUZZ/

2、爆破参数

命令:wfuzz -w dir.txt --hc 404 http://testphp.vulnweb.com/index.html?FUZZ=1

3、密码爆破

命令:wfuzz -w user.txt -w pwd.txt --hc 404 http://testphp.vulnweb.com/index.html?username=FUZZ&pwd=FUZ2Z

  • –hc 取除 404 状态码响应结果
  • FUZZ、FUZ 1 Z、FUZ 3 Z 为占位符,按顺序从提供的字典

4、Post 数据爆破

命令:wfuzz -w userList -w pwdList -d "username=FUZZ&password=FUZ2Z" http://127.0.0.1/login.php

  • -d 参数传输 POST 请求正文。

5、Cookie 测试

命令:wfuzz -z range,000-999 -b session=session -b cookie=cookie http://127.0.0.1/getuser.php?uid=FUZZ

  • -z 构造 0-999 递增变量
  • -b 指定 cookie 内容

6、http 的 Headers 爆破

命令:wfuzz -z range,0000-9999 -H "X-Forwarded-For: FUZZ" http://127.0.0.1/get.php?userid=666

7、请求方法爆破

命令:wfuzz -z list, "GET-POST-HEAD-PUT" -X FUZZ http://127.0.0.1/

  • -z list 参数 可以自定义一个字典列表( 在命令中体现 ),以 - 分割。因为这里要测试 HTTP 请求方法,所以 字典列表为 GET-POST-HEAD-PUT
  • -X 参数 指定 HTTP 请求方法类型,后面的值为 FUZZ 占位符。

8、使用代理

命令:wfuzz -w wordlist -p proxtHost:proxyPort:TYPE URL/FUZZ

  • -p 参数指定主机:端口:代理类型,多个代理可使用多个-p参数同时指定 wfuzz 每次请求都会选取不同的代理进行。

9、认证(测试 HTTP Basic Auth 保护命令)

命令:wfuzz -z list,"username-password" --basic FUZZ:FUZZ URL

  • wfuzz 可以通过 –basec –ntml –digest 来设置认证头,

10、递归测试(常用于目录爆破)

命令:wfuzz -z list,"admin-login.php-test-dorabox" -R 2 http://127.0.0.1/FUZZ

  • -R 参数可以指定一个 payload 被递归的深度(数字)。

11、并发、请求间隔(常用于绕过安全设备)

命令:wfuzz -z range,0-20 -t 20 -s 1 -d "money=1" http://127.0.0.1/dorabox/race_condition/pay.php?FUZZ

  • 使用 -t 参数 设置 并发请求,该参数默认设置都是 10。
  • 使用 -s 参数 设置 每次发送HTTP的时间间隔。

12、保存测试结果

命令:wfuzz -f outfile,json -w wordlist URL/FUZZ

  • 支持 raw、json、csv、HTML、

1.2 高级用法

1.2.1 迭代器(多个参数迭代规则)

wfuz z自带的迭代器有三个:zip、chain、product,如果不指定迭代器,默认为 product 迭代器,通过使用迭代器,使 wfuzz 工具具备与 burp suite Intruder 模块-Attack Type 功能(Sniper、Battering ram、Pitchfork、Cluster bomb()

1、zip 迭代器:字典数相同、一一对应进行组合,如果字典数不一致则多余的抛弃掉不请求,

命令:wfuzz -z range,0-9 -w dict.txt -m zip http://127.0.0.1/ip.php?FUZZ=FUZ2Z

2、chain 迭代器:将所有字典全部整合(不做组合)放在一起然后传入占位符FUZZ中。

命令:wfuzz -z range,0-9 -w dict.txt -m chain http://127.0.0.1/ip.php?FUZZ

3、product 迭代器:请求的参数交叉组合

命令:wfuzz -z range,0-2 -w dict.txt -m product http://127.0.0.1/ip.php?FUZZ=FUZ2Z

1.2.2 编码转换功能

1、Encoders 的 md5 加密功能

命令:wfuzz -z file,pwd.txt,md5 URL/FUZZ

1.2.3 插件功能(scripts)

wfuzz 是支持插件的,其本身也有很多插件,插件大部分都是实现扫描和解析功能,插件共有两大类和一类附加插件:

  • passive:分析已有的请求和响应(被动)
  • active:会向目标发送请求来探测(主动)
  • discovery:自动帮助wfuzz对目标站进行爬取,将发现的内容提供给wfuzz进行请求

1、查看自带脚本

命令:wfuzz -e scripts

2、查询脚本帮助信息

命令:wfuzz --script-help=robots

1.2.4 其他高级功能

1、忽略网络异常,使用 -Z 参数即可忽略这些错误继续执行。

2、超时错误,使用 wfuzz 扫描会遇到一些响应很慢的情况,wfuzz 可以设置超时时间。 参数 –conn-delay 来设置 wfuzz 等待服务器响应接连的秒数。参数 –req-delay 来设置 wfuzz 等待响应完成的最大秒数


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 dacker1993@gmail

💰

×

Help us with donation