### wfuzz 使用说明

wfuzz 是一个用于 Web 应用程序模糊测试(fuzzing)的工具,主要用于发现 Web 应用中的漏洞,特别是在处理 HTTP 请求和响应时。以下是 wfuzz 的使用说明翻译。

---

#### 基本信息

********************************************************
* Wfuzz 3.1.0 - Web Fuzzer                              *
*                                                      *
* 版本 1.4c 之前由:                                   *
* Christian Martorella ([email protected]) *
* Carlos del ojo ([email protected])                   *
*                                                      *
* 版本 1.4d 到 3.1.0 由:                              *
* Xavier Mendez ([email protected])            *
********************************************************


---

#### 用法

Usage: wfuzz [options] -z payload,params <url>

        FUZZ, ..., FUZnZ:这些关键字在使用时,`wfuzz` 会将它们替换为指定的 payload 中的值。
        FUZZ{baseline_value}:将 FUZZ 替换为 baseline_value。它将是执行的第一个请求,并可以用作过滤的基础。


---

#### 选项

- `-h/--help`
显示帮助信息

- `--help`
显示高级帮助

- `--filter-help`
显示过滤语言的说明

- `--version`
显示 wfuzz 版本信息

- `-e <type>`
列出可用的编码器、payloads、迭代器、打印器和脚本

- `--recipe <filename>`
从指定的配方文件中读取选项。可以重复使用该选项来读取多个配方。

- `--dump-recipe <filename>`
将当前选项打印为配方文件

- `--oF <filename>`
将模糊测试结果保存到文件,稍后可以使用该文件中的 payload 进行处理。

- `-c`
使用颜色输出

- `-v`
输出详细信息

- `-f filename,printer`
使用指定的打印器(默认为 raw 打印器)将结果保存到输出文件中。

- `-o printer`
使用指定的打印器显示结果。

- `--interact`
(测试版)启用后,所有按键都会被捕获,允许与程序进行交互。

- `--dry-run`
打印请求的结果,但不实际发送 HTTP 请求。

- `--prev`
打印上一个 HTTP 请求(仅在使用生成 fuzz 结果的 payload 时可用)。

- `--efield <expr>`
显示指定的语言表达式和当前的 payload。可以重复使用该选项来显示多个字段。

- `--field <expr>`
只显示指定的语言表达式,而不显示 payload。可以重复使用该选项来显示多个字段。

- `-p addr`
使用代理,格式为 `ip:port:type`。可以重复该选项使用多个代理。类型可以是 SOCKS4、SOCKS5 或 HTTP,如果省略,默认为 HTTP。

- `-t N`
指定并发连接数(默认是 10)

- `-s N`
指定请求之间的延迟时间(默认是 0)

- `-R depth`
指定递归路径发现的最大递归深度。

- `-D depth`
最大链接深度级别。

- `-L,--follow`
跟踪 HTTP 重定向

- `--ip host:port`
指定连接到的 IP 地址和端口,而不是 URL 中的主机。

- `-Z`
扫描模式(忽略连接错误)

- `--req-delay N`
设置请求的最大允许时间(单位:秒),默认是 90。

- `--conn-delay N`
设置连接到服务器的最大时间(单位:秒),默认是 90。

- `-A, --AA, --AAA`
等同于 -v -c 和 `--script=default,verbose,discover`。

- `--no-cache`
禁用插件缓存。每个请求都会被扫描。

- `--script=`
等同于 `--script=default`。

- `--script=<plugins>`
运行脚本扫描,`<plugins>` 是逗号分隔的插件文件或插件类别列表。

- `--script-help=<plugins>`
显示关于脚本的帮助信息。

- `--script-args n1=v1,...`
为脚本提供参数,例如:`--script-args grep.regex="<A href=\"(.*?)\">"`

- `-u url`
指定要请求的 URL。

- `-m iterator`
指定用于组合 payloads 的迭代器(默认为 product)。

- `-z payload`
为每个 FUZZ 关键字指定一个 payload。格式为 `name[,parameter][,encoder]`。可以使用编码器列表,如 `md5-sha1`,也可以链式使用编码器,如 `md5@sha1`。还可以使用编码器类别,如 `url`。

- `--zP <params>`
为指定的 payload 提供参数(必须以 -z-w 前缀)。

- `--zD <default>`
为指定的 payload 提供默认参数(必须以 -z-w 前缀)。

- `--zE <encoder>`
为指定的 payload 提供编码器(必须以 -z-w 前缀)。

- `--slice <filter>`
使用指定的表达式过滤 payload 元素。必须与 -z 一起使用。

- `-w wordlist`
指定一个字典文件(等同于 `-z file,wordlist`)。

- `-V alltype`
对所有参数进行暴力破解(allvars 和 allpost)。不需要使用 FUZZ 关键字。

- `-X method`
指定请求的 HTTP 方法,例如 HEAD 或 `FUZZ`。

- `-b cookie`
指定请求的 cookie。可以重复使用该选项来使用多个 cookies。

- `-d postdata`
使用 POST 数据(例如:"id=FUZZ&catalogue=1")。

- `-H header`
使用请求头(例如:"Cookie:id=1312321&user=FUZZ")。可以重复使用该选项来使用多个请求头。

- `--basic/ntlm/digest auth`
使用 "user:pass" 或 "FUZZ:FUZZ" 或 "domain\FUZ2Z:FUZZ" 格式的身份验证。

- `--hc/hl/hw/hh N[,N]+`
隐藏响应中指定代码、行、单词或字符(使用 BBB 表示基准值)。

- `--sc/sl/sw/sh N[,N]+`
显示响应中指定代码、行、单词或字符(使用 BBB 表示基准值)。

- `--ss/hs regex`
显示或隐藏响应中匹配指定正则表达式的内容。

- `--filter <filter>`
使用指定的过滤表达式显示或隐藏响应(使用 BBB 表示基准值)。

- `--prefilter <filter>`
在 fuzzing 之前使用指定的表达式过滤项。可以重复该选项来连接多个过滤器。

---
https://github.com/xmendez/wfuzz
### 关键词
#wfuzz #WebFuzzing #fuzz #payload #fuzzing工具 #安全测试
 
 
Back to Top