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