### 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工具 #安全测试
dirsearch -u http://192.168.153.130/ --exclude-status 403,401
这次使用 dirsearch 的目录扫描结果如下:

### 扫描概况:
- **目标**:`http://192.168.153.130/`
- **排除了 403 和 401 状态码**(即忽略没有权限访问的目录)。
- **扩展名**:扫描了 .php, .aspx, .jsp, .html, .js 文件。
- **线程数**:25
- **字典大小**:11460个条目

### 结果概述:
- **成功返回的目录**:
- `/add`(200 OK)
- `/add.php`(200 OK)
- `/c`(200 OK)
- `/head`(200 OK)
- `/head.php`(200 OK)
- `/images/`(200 OK,重定向到 `http://192.168.153.130/images/`)
- `/in`(200 OK)
- `/show`(200 OK)
- `/test`(200 OK)
- `/test.php`(200 OK)
- `/phpmy/`(200 OK)

- **重定向**:
- /images`(301 Moved Permanently,重定向到 /images/`)
- /panel 和 `/panel.php`(302 Found,重定向到 `index.php`)

### 总结:
- 目标主机上多个目录和文件存在,包括 PHP 文件(如 /add.php, /test.php`)和其他常见目录(如 /images/, /phpmy/`)。
- 一些目录如 /panel/images 会进行重定向。
- 没有返回 403 或 401 错误,符合排除条件。

此扫描揭示了目标网站上开放的多个目录和文件路径,有助于进一步的安全分析。
#dirsearch #目录扫描 #安全测试 #结果分析
这个 gobuster 扫描结果显示了对目标主机 http://192.168.153.130/ 进行目录扫描的结果。以下是简要分析:

- **扫描概况**:
- 使用了字典 /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt 进行扫描。
- 扫描的 HTTP 方法是 `GET`,线程数为 10,超时设置为 10 秒。
- 排除了返回 `404` 状态码的目录(即未找到的目录)。

- **发现的目录**:
- /index (200 OK):存在并返回了页面。
- /images (301 Moved Permanently):存在并重定向到 `http://192.168.153.130/images/`。
- /c, /in, /add, /show, /test, /head, /head2 (200 OK):这些目录存在,返回 200 状态码。
- /uploaded_images (301 Moved Permanently):存在并重定向到 `http://192.168.153.130/uploaded_images/`。
- /panel (302 Found):存在并重定向到 `index.php`。
- /server-status (403 Forbidden):存在但访问被拒绝(权限不足)。

- **总结**:
- 目标网站包含多个有效的目录和页面,部分目录如 /images/uploaded_images 可能包含上传的内容。
- /server-status 页面返回了 403 状态码,表示访问受限。
- 大多数发现的目录都返回了 200 或 301 状态码,意味着它们存在并且有效。

此扫描结果有助于进一步探索目标网站的潜在入口和敏感目录。
#gobuster #目录扫描 #网站枚举 #安全测试
 
 
Back to Top