wfuzz 教程

Wfuzz是一款专为暴力破解Web应用程序设计的工具,具备多词典注入、递归目录爆破、多线程、代理支持等功能。适用于查找未链接资源、检测各种类型注入、表单爆破等场景。

Wfuzz是一个为暴力破解Web应用程序而设计的工具,它可以用于查找未链接的资源(目录,servlet,脚本等),暴力GET和POST参数以检查不同类型的注入(SQL,XSS,LDAP等),强力表单参数(用户/密码),Fuzzing等。
在这里插入图片描述
Wfuzz一些功能:

具有多个词典的多注入点功能
递归(当做目录暴力时)
发布,标头和认证数据暴力强制
输出到HTML
彩色输出
按返回码,字数,行号,正则表达式隐藏结果
Cookies fuzzing
多线程
代理支持
SOCK支持
请求之间的时间延迟
身份验证支持(NTLM,基本)
所有参数bruteforce(POST和GET)
每个有效载荷多个编码器
有效载荷与迭代器的组合
基线请求(用于过滤结果)
蛮力HTTP方法
多个代理支持(每个请求通过不同的代理)
HEAD扫描(资源发现更快)
为已知应用量身定制的字典(Weblogic,Iplanet,Tomcat,Domino,Oracle 9i,Vignette,Coldfusion等等)

有效载荷:

文件
列表
hexrand
范围
名称
hexrange
编码:

random_uppercase
urlencode
binary_ascii
base64
double_nibble_hex
uri_hex
sha1
md5
double_urlencode
utf8
utf8_binary
html
html十进制
自定义
还有很多…

迭代器:

产品
压缩

wfuzz 用法:
/usr/bin/wfuzz [选项]

wfuzz 选项:
-c:用颜色输出

-v:详细的信息

-o 打印机:由stderr输出格式

-p addr:使用代理(ip:port或ip:port-ip:port-ip:port)

-x type:使用SOCK代理(SOCKS4,SOCKS5)

-t N:指定线程数(默认20个)

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

-e :可用编码/有效载荷/迭代器/打印机的列表

-R depth:递归路径发现

-I:使用HTTP HEAD而不是GET方法(没有HTML主体响应)。

–follow:遵循重定向

-m iterator:指定迭代器(默认产品)

-z payload :指定有效载荷(类型,参数,编码)

-V alltype:所有参数bruteforcing(allvars和allpost)。不需要FUZZ关键字。

-X:HTTP方法中的有效载荷(例如:“FUZZ HTTP / 1.0”)。不需要FUZZ关键字。

-b cookie:为请求指定一个cookie

-d postdata:使用发布数据(例如:“id = FUZZ&catalog = 1”)

-H headers:使用头文件(例如:“Host:www.mysite.com,Cookie:id=1312321&user=FUZZ”)

–basic/ntlm/digest auth:格式为“user:pass”或“FUZZ:FUZZ”或“domain \ FUZ2Z:FUZZ”

–hc/hl/hw/hh N[,N]+ :隐藏指定的代码/行/字/字符的resposnes(使用BBB从基线获取值)

–hs regex :在响应中隐藏具有指定正则表达式的响应

关键字:FUZZ,FUZ2Z,无论你放置这些词汇,wfuzz都会将其替换为所选择的有效载荷。

wfuzz 示例:
wfuzz.py -c -z file,commons.txt --hc 404 -o html http://www.site.com/FUZZ 2> res.html

wfuzz.py -c -z file,users.txt -z file,pass.txt --hc 404 http://www.site.com/log.asp?user=FUZZ&pass=FUZ2Z

wfuzz.py -c -z range,1-10 --hc=BBB http://www.site.com/FUZZ{something}
更多示例在README文件中。

wfuzz 使用示例:
使用颜色输出(-c),一个词表作为有效载荷(-z文件,/ usr / share / wfuzz / wordlist / general / common.txt),并隐藏404消息(-hc 404)来模糊给定的URL (http ://192.168.1.202/FUZZ):

root@kali:~# wfuzz -c -z file,/usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://192.168.1.202/FUZZ


  • Wfuzz 2.0 - The Web Bruteforcer *

Target: http://192.168.1.202/FUZZ
Payload type: file,/usr/share/wfuzz/wordlist/general/common.txt

Total requests: 950

ID Response Lines Word Chars Request

00429: C=200 4 L 25 W 177 Ch " - index"
00466: C=301 9 L 28 W 319 Ch " - javascript"

wfuzz 效果评价:
wfuzz许多的功能并不仅限于此篇文章,有很多效果都没有真正的体现出来,是一个不错的web应用程序工具,更多资料请参考:

1、github地址:https://github.com/xmendez/wfuzz

2、wfuzz文档:http://wfuzz.readthedocs.io

### wfuzz 的使用方法 wfuzz 是一款功能强大的模糊测试工具,主要用于 Web 应用程序的安全评估。以下是关于其使用的详细介绍: #### 工具初始化 wfuzz 可以通过命令行接口运行。如果安装成功并配置了可执行权限,则可以直接调用 `wfuzz` 命令;否则可以通过 Python 脚本手动启动[^3]。 ```bash python3 src/wfuzz.py [-options] <parameters> ``` #### 插件扩展 为了增强功能,用户可以自定义插件并将它们放置在特定目录下(如 `~/.wfuzz/scripts/`),从而实现更复杂的操作需求。开发新插件时,建议参考官方仓库中的现有脚本作为模板[^1]。 #### 认证支持 当目标网站需要身份验证时,wfuzz 提供了几种常见的认证机制选项,包括基本认证 (`--basic`)、NTLM (`--ntlm`) 和摘要认证 (`--digest`) 等。这些参数允许指定用户名和密码组合用于访问受保护资源[^2]。 例如: ```bash wfuzz --auth "username:password" --basic http://example.com/ ``` #### 实际应用案例 下面给出几个简单的例子来展示如何利用该工具进行不同类型的扫描任务。 - **URL路径枚举** 如果想要发现隐藏页面或未公开的服务端点,可以用如下指令尝试不同的路径名变量替换位置标记(FUZZ): ```bash wfuzz -w wordlist.txt --hc 404 http://targetsite/FUZZ ``` - **表单注入检测** 对于可能存在SQL注入漏洞的数据输入框,可通过设置相应的payload列表来进行批量试探: ```bash wfuzz -z file,sql_payloads.txt -d "param=FUZZ" http://vulnerable-app/login.php ``` 以上只是基础示例,在实际工作中还需要根据具体情况调整策略以及选用合适的字典文件等内容源。 ### 注意事项 尽管 Kali Linux 将众多网络安全相关的应用程序集成到了一起形成了一套完整的解决方案环境[^4],但在任何公共网络上实施未经授权的攻击行为都是违法的,请务必遵循当地法律法规开展合法合规的技术研究活动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值