wfuzz使用手册

0x01

wfuzz核心是使用了FUZZ作为占位符,使得它能胜任更多的扫描爆破任务

返回结果

每一行输出给我们提供了以下信息:

ID:测试时的请求序号
Code/Response:HTTP响应吗
Lines:响应信息中的行数
Words:响应信息中的字数
Chars:响应信息中的字符数
Payload:当前使用的payload

列出可用模块

-e < type> : 显示可用的encoders/payloads/iterators/printers/scripts列表

使用单个payload

1
wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt http://testphp.vulnweb.com/FUZZ

使用多个payload

使用-z 或-w 参数可以同时指定多个payloads,这时相应的占位符应设置为 FUZZ, … , FUZnZ, 其中n代表了payload的序号。比如下面的例子,我们同时暴破文件,后缀和目录:

1
wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt -w /usr/share/wfuzz/wordlist/general/common.txt -w /usr/share/wfuzz/wordlist/general/extensions_common.txt --hc 404 http://testphp.vulnweb.com/FUZZ/FUZ2ZFUZ3Z

过滤响应结果

通过–hc,–hl,–hw,–hh参数可以隐藏某些HTTP响应。
隐藏无法找到的页面的响应如下:

1
wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://testphp.vulnweb.com/FUZZ

可指定多个需要隐藏的条件,如,想要加上隐藏禁止访问的响应:

1
wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404,403 http://testphp.vulnweb.com/FUZZ

encoders

1
wfuzz -e encoders

常见例子

  • 遍历id值隐藏500返回码并保存为html文件:
1
wfuzz -z range,1-200 –-hc 500 -f 1,html http://www.XXX.net/Pro_show.asp?proid=FUZZ
  • 需要一次测试多个FUZZ
1
wfuzz -z file,1.txt -z file,2.txt  http://www.xxx.com/FUZZ/FUZ2Z.html
  • 对于需要base64加密的cookie
1
wfuzz -z file,1.txt,base64 -b "cookie="FUZZ"" http://www.xxx.com
  • post请求测试

    -d 使用post方法

1
wfuzz -w userList -w pwdList -d "username=FUZZ&password=FUZ2Z" http://127.0.0.1/login.php
  • 带上cookie
1
wfuzz -z range,000-999 -b session=session -b cookie=cookie http://127.0.0.1/getuser.php?uid=FUZZ
  • 使用代理
1
2
3
4
5
wfuzz -w wordlist -p proxtHost:proxyPort:TYPE URL/FUZZ
# -p参数指定主机:端口:代理类型,例如我想使用ssr的,可以使用如下命令:

wfuzz -w wordlist -p 127.0.0.1:1087:SOCKS5 URL/FUZZ
# 多个代理可使用多个-p参数同时指定,wfuzz每次请求都会选取不同的代理进行。
  • 递归查询
1
2
# 使用-R参数可以指定一个payload被递归的深度(数字)。爆破目录
wfuzz -z list,"admin-login.php-test-dorabox" -R 1 http://127.0.0.1/FUZZ

reference:
https://www.freebuf.com/column/163553.html
https://www.secpulse.com/archives/81560.html