简介
Wfuzz的创建是为了促进Web应用程序评估中的任务,它基于一个简单的概念:它用给定有效负载的值替换对FUZZ关键字的任何引用。
Wfuzz中的有效负载是数据源。
这个简单的概念允许在HTTP请求的任何字段中注入任何输入,允许在不同的Web应用程序组件中执行复杂的Web安全攻击,例如:参数
,身份验证
,表单
,目录/文件
,标题
等。
Wfuzz不仅仅是一个Web内容扫描程序:
Wfuzz可以通过查找和利用Web应用程序漏洞来帮助您保护Web应用程序。插件支持Wfuzz的Web应用程序漏洞扫描程序。
Wfuzz是一个完全模块化的框架,即使是最新的Python开发人员也可以轻松做出贡献。构建插件很简单,只需几分钟。
Wfuzz为使用Wfuzz或其他工具(如Burpsuite
)执行的先前HTTP请求/响应提供了一个简单的语言界面。
这使您可以使用完整的上下文和对操作的理解来执行手动和半自动
测试,而无需依赖Web应用程序扫描程序底层实现。
它是为了方便网络应用程序评估中的任务而创建的,它是一个由测试者提供的测试工具。
安装
我是使用的Manjoro
Linux,并添加了blackarch
源
。
如果已经配置好源可以直接安装。
1
2
3
|
sudo pacman -Rcnsu Wfuzz
cd /usr/share/wfuzz
sudo pip install wfuzz
|
用法
参数介绍
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
wfuzz -help
Usage: wfuzz [options] -z payload,params <url>
FUZZ, ..., FUZnZ 无论你把这些关键字放在哪里,wfuzz都会用指定有效负载的值替换它们。
FUZZ{baseline_value} FUZZ将替换为baseline_value。 它将是第一个执行的请求,可以用作过滤的基础。
Options:
-h : 帮助
--help : 高级帮助
--version : Wfuzz版本细节
-e <type> : 可用的清单 encoders/payloads/iterators/printers/scripts
-c : 输出颜色
-v : 详细信息.
--interact : (beta)如果选中,则捕获所有按键。 这允许您与程序进行交互。
-p addr : 使用代理格式为ip:port:type。 重复使用各种代理的选项。
其中type可以是SOCKS4,SOCKS5或HTTP(如果省略)。
-t N : 指定并发连接数(默认为10)
-s N : 指定请求之间的时间延迟(默认值为0)
-R depth : 递归路径发现深度是最大递归级别。
-L, --follow : Follow HTTP redirections
-u url : 指定请求的URL。
-z payload : 为类型,参数,编码器形式的每个FUZZ关键字指定有效负载。
可以使用编码器列表,即。MD5,SHA1。 编码器可以链接,即。MD5@ SHA1。
可以使用编码器类别。即。网址
使用帮助作为有效负载来显示有效负载插件的详细信息(您可以过滤using --slice)
-w wordlist : 指定wordlist文件(-z文件,wordlist的别名)。
-V alltype : 所有参数bruteforcing(allvars和allpost)。 不需要FUZZ关键字。
-X method : 为请求指定HTTP方法,即。 HEAD或FUZZ
-b cookie : 为请求指定cookie
-d postdata : 使用post发布数据 (ex: "id=FUZZ&catalogue=1")
-H header : 使用 header (ex:"Cookie:id=1312321&user=FUZZ")
--basic/ntlm/digest auth : 格式 "user:pass" or "FUZZ:FUZZ" or "domain\FUZ2Z:FUZZ"
--hc/hl/hw/hh N[,N]+ : 隐藏指定的响应 code/lines/words/chars (使用BBB从基线获取值)
--sc/sl/sw/sh N[,N]+ : 显示指定的响应 code/lines/words/chars (使用BBB从基线获取值)
--ss/hs regex : 隐藏指定的响应 regex within the content
|
爆破用户名与密码
1
|
wfuzz -c -z file,/tmp/字典文件 — hs Invalid -d “log=FUZZ&pwd=icekam” https://www.icekam.com/index.html
|
爆破目录
1
|
wfuzz -c -z file,/tmp/字典文件.txt — hc 404 https://www.icekam.com/categories/FUZZ
|
使用多个payloads
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 https://www.icekam.com/categories/FUZZ
|
- 使用
-z
或-w
参数可以同时指定多个payloads,这时相应的占位符应设置为 FUZZ, … , FUZnZ, 其中n
代表了payload的序号。
- 上面的例子,我们同时暴破了文件,后缀和目录。
总结
Wfuzz是搞web测试必备的工具,上面仅列出常用姿势,更多姿势请在实战中发掘!