WFUZZ 使用文档

功能:

  • 路径遍历
  • 可预测的认证
  • 可预测的资源定位
  • 注入
  • 认证漏洞
  • 不安全的直接对象引用

一、入门

  1. # 最简单的一个命令执行
  2. wfuzz -w wordlist/general/common.txt http://testphp.vulnweb.com/FUZZ
  3. # 输出结果
  4. # ID : 执行顺序排列的编号
  5. # Response : HTTP 的响应
  6. # Lines : HTTP 响应行数
  7. # Word : HTTP 响应的字数
  8. # Chars : HTTP 响应的字符数
  9. # Request : 有效负载
  10. ==================================================================
  11. ID Response Lines Word Chars Request
  12. ==================================================================

1. 获取帮助

  1. wfuzz -h # 获取帮助
  2. 选项:
  3. -h : 获取帮助
  4. --version : 获取版本
  5. -e <type> : 展示可用模块encoders/payloads/iterators/printers/scripts
  6. -c : 输出颜色
  7. -v : 详细信息
  8. --interact : 可以与程序进行交互
  9. -p addr : 使用 ip:port:type 格式的代理
  10. -t N : 指定并发连接数
  11. -s N : 指定请求时间延迟
  12. -R depth : 递归路径级别
  13. -D depth : 最大链接深度级别
  14. -L, --follow : 跟随 HTTP 重定向
  15. -u url : 指定请求 URL
  16. -z payload : 为每一个 FUZZ 关键字指定一个有效负载
  17. -w wordlist : 指定字典
  18. -V alltype : 所有参数暴力破解
  19. -X method : 指定请求方法
  20. -b cookie : 指定 COOKIE
  21. -d postdata : 指定 POSt 参数
  22. -H header : 指定请求头
  23. --basic/ntlm/digest auth : 格式为 user:pass
  24. --hc/hl/hw/hh N[,N]+ : 隐藏具有指定数据的 code/lines/words/chars HTTP 响应
  25. --sc/sl/sw/sh N[,N]+ : 显示具有指定数据的 code/lines/words/chars HTTP 响应
  26. --ss/hs regex : 显示/隐藏 带有指定正则表达式的响应

2. 有效载荷

WFUZZ 将对关键字 FUZZ 的任何引用替换为给定有效负载值

  1. # 列出有效负载值
  2. wfuzz -e payloads
  3. # 列出有关有效负载的详细信息 可以使用 --slice 进行过滤
  4. wfuzz -z help [--slice "NAME"]
  5. # 指定多个有效负载 FUZnZ : n 是指有效负载编号
  6. wfuzz -w wordlist/general/common.txt -w wordlist/general/common.txt -w wordlist/general/extensions_common.txt --hc 404 http://testphp.vulnweb.com/FUZZ/FUZ2ZFUZ3Z

2. 基本用法

1. 模糊路径和文件

  1. # 查找公共目录
  2. wfuzz -w wordlist/general/common.txt http://testphp.vulnweb.com/FUZZ
  3. # 查找文件
  4. wfuzz -w wordlist/general/common.txt http://testphp.vulnweb.com/FUZZ.php
  5. # 数据模糊测试
  6. wfuzz -z range,0-10 --hl 97 http://testphp.vulnweb.com/listproducts.php?cat=FUZZ
  7. # 模糊 POST 请求
  8. wfuzz -z file,wordlist/others/common_pass.txt -d "uname=FUZZ&pass=FUZZ" --hc 302 http://testphp.vulnweb.com/userinfo.php
  9. # 对各种 COOKIE 重复
  10. wfuzz -z file,wordlist/general/common.txt -b cookie=value1 -b cookie2=value2 http://testphp.vulnweb.com/FUZZ
  11. # 模糊 COOKIE
  12. wfuzz -z file,wordlist/general/common.txt -b cookie=FUZZ http://testphp.vulnweb.com/
  13. # 重复 HTTP头
  14. wfuzz -z file,wordlist/general/common.txt -H "myheader: headervalue" -H "myheader2: headervalue2" http://testphp.vulnweb.com/FUZZ
  15. # 使用不同请求方法
  16. wfuzz -z list,GET-HEAD-POST-TRACE-OPTIONS -X FUZZ http://testphp.vulnweb.com/
  17. # 使用代理
  18. wfuzz -z file,wordlist/general/common.txt -p localhost:2222:SOCKS5 -p localhost:9090 http://testphp.vulnweb.com/FUZZ
  19. # 身份验证
  20. wfuzz -z list,nonvalid-httpwatch --basic FUZZ:FUZZ https://www.httpwatch.com/httpgallery/authentication/authenticatedimage/default.aspx
  21. # 将结果写入 JSON 文件
  22. wfuzz -f /tmp/outfile,json -w wordlist/general/common.txt http://testphp.vulnweb.com/FUZZ
  23. # 以 JSON 格式输出
  24. wfuzz -o json -w wordlist/general/common.txt http://testphp.vulnweb.com/FUZZ

3. 高级用法

1. 迭代器

  1. # 压缩
  2. wfuzz -z list,a-b-c -z list,1-2-3 -m zip http://google.com/FUZZ/FUZ2Z
  3. 00001: C=404 9 L 32 W 276 Ch "a - 1"
  4. 00002: C=404 9 L 32 W 276 Ch "c - 3"
  5. 00003: C=404 9 L 32 W 276 Ch "b - 2"
  6. # 链
  7. wfuzz -z list,a-b-c -z list,1-2-3 -m chain http://google.com/FUZZ
  8. 00001: C=404 9 L 32 W 280 Ch "b"
  9. 00002: C=404 9 L 32 W 280 Ch "a"
  10. 00003: C=404 9 L 32 W 280 Ch "c"
  11. 00004: C=404 9 L 32 W 280 Ch "1"
  12. 00006: C=404 9 L 32 W 280 Ch "3"
  13. 00005: C=404 9 L 32 W 280 Ch "2"
  14. # product
  15. wfuzz -z list,a-b-c -z list,1-2-3 http://mysite.com/FUZZ/FUZ2Z
  16. 00001: C=404 9 L 32 W 276 Ch "a - 2"
  17. 00002: C=404 9 L 32 W 276 Ch "a - 1"
  18. 00005: C=404 9 L 32 W 276 Ch "b - 2"
  19. 00004: C=404 9 L 32 W 276 Ch "a - 3"
  20. 00008: C=404 9 L 32 W 276 Ch "c - 2"
  21. 00003: C=404 9 L 32 W 276 Ch "b - 1"
  22. 00007: C=404 9 L 32 W 276 Ch "c - 1"
  23. 00006: C=404 9 L 32 W 276 Ch "b - 3"
  24. 00009: C=404 9 L 32 W 276 Ch "c - 3"

2. 编码器

  1. # 指定一个编码器
  2. wfuzz -z file,wordlist/general/common.txt,md5 http://testphp.vulnweb.com/FUZZ
  3. ==================================================================
  4. ID Response Lines Word Chars Request
  5. ==================================================================
  6. 00002: C=404 7 L 12 W 168 Ch "b4b147bc522828731f1a016bfa72c073"
  7. 00003: C=404 7 L 12 W 168 Ch "96a3be3cf272e017046d1b2674a52bd3"
  8. 00004: C=404 7 L 12 W 168 Ch "a2ef406e2c2351e0b9e80029c909242d"
  9. # 指定多个编码器 使用 - @ 连接
  10. wfuzz -z list,1-2-3,md5-sha1@none http://webscantest.com/FUZZ
  11. ==================================================================
  12. ID Response Lines Word Chars Request
  13. ==================================================================
  14. 00000: C=200 38 L 121 W 1486 Ch "da4b9237bacccdf19c0760cab7aec4a8359010b0"
  15. 00001: C=200 38 L 121 W 1486 Ch "c4ca4238a0b923820dcc509a6f75849b"
  16. 00002: C=200 38 L 121 W 1486 Ch "3"