Wfuzz工具使用


参考链接:WFUZZ使用教程

一、简介

Wfuzz是一款为了评估WEB应用而生的Fuzz(Fuzz是爆破的一种手段)工具,它基于一个简单的理念,即用给定的Payload去fuzz。它允许在HTTP请求里注入任何输入的值,针对不同的WEB应用组件进行多种复杂的爆破攻击。比如:参数、认证、表单、目录/文件、头部等等,这款工具在kali里面自带。

二、特性

Wfuzz是用来帮助测试人员评估WEB应用的渗透测试工具。

  • 递归(目录发掘)
  • Post数据爆破
  • 头部爆破
  • 输出HTML(详细报告,点击链接查看内容,POST数据也能阅览)
  • 多彩输出
  • 返回码、词数、行数等等来隐藏结果。
  • URL编码
  • Cookie
  • 多线程
  • 代理支持
  • 多参数fuzz

三、wfuzz使用

1、wfuzz爆破文件:

wfuzz -w wordlist URL/FUZZ.php

2、wfuzz爆破目录

wfuzz -w wordlist URL/FUZZ

3、遍历枚举参数值
假如你发现了一个未授权漏洞,地址为:http://127.0.0.1/getuser.php?uid=123 可获取uid为123的个人信息uid参数可以遍历,已知123为三位数纯数字,需要从000-999进行遍历,也可以使用wfuzz来完成:
使用payloads模块类中的range模块进行生成。

wfuzz -z range,000-999 http://127.0.0.1/getuser.php?uid=FUZZ

4、POST请求测试
发现一个登录框,没有验证码,想爆破弱口令账户。
请求地址为:http://127.0.0.1/login.phpPOST
请求正文为:username=&password=
使用wfuzz测试:

wfuzz -w userList -w pwdList -d "username=FUZZ&password=FUZ2Z" http://127.0.0.1/login.php

-d参数传输POST请求正文

5、Cookie测试
假设这个漏洞是越权漏洞,要做测试的肯定需要让wfuzz知道你的Cookie才能做测试。
如下命令即可携带上Cookie:

wfuzz -z range,000-999 -b session=session -b cookie=cookie http://127.0.0.1/getuser.php?uid=FUZZ

-b参数指定Cookie,多个Cookie需要指定多次,也可以对Cookie进行测试,仍然使用FUZZ占位符即可。

6、HTTP Headers测试
发现一个刷票的漏洞,这个漏洞需要伪造XFF头(IP)可达到刷票的效果,投票的请求为GET类型,地址为:http://127.0.0.1/get.php?userid=666。那么现在我想给userid为666的朋友刷票,可以使用wfuzz完成这类操作:

wfuzz -z range,0000-9999 -H "X-Forwarded-For: FUZZ" http://127.0.0.1/get.php?userid=666

-H指定HTTP头,多个需要指定多次(同Cookie的-b参数)

7、测试HTTP请求方法(Method)
想测试一个网站(http://127.0.0.1/)支持哪些HTTP请求方法
使用wfuzz:

wfuzz -z list,"GET-POST-HEAD-PUT" -X FUZZ http://127.0.0.1/

这条命了中多了 -z list 和 -X 参数,-z list可以自定义一个字典列表(在命令中体现),以-分割;-X参数是指定HTTP请求方法类型,因为这里要测试HTTP请求方法,后面的值为FUZZ占位符。

8、认证
想要测试一个需要HTTP Basic Auth保护的内容可使用如下命令:

wfuzz -z list,"username-password" --basic FUZZ:FUZZ URL

wfuzz可以通过--basec --ntml --digest来设置认证头,使用方法都一样:

--basec/ntml/digest username:password

9、保存测试结果
wfuzz通过printers模块来将结果以不同格式保存到文档中,一共有如下几种格式:

raw       | `Raw` output format
json      | Results in `json` format
csv       | `CSV` printer ftw
magictree | Prints results in `magictree` format
html      | Prints results in `html` format

将结果以json格式输出到文件的命令如下:

wfuzz -f outfile,json -w wordlist URL/FUZZ

使用-f参数,指定值的格式为输出文件位置,输出格式。


文章作者: P1n9
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 P1n9 !
评论
 上一篇
CTF-攻防世界Web题目1 CTF-攻防世界Web题目1
一、web-php_rce(ThinkPHP远程代码执行)题目:考察ThinkPHP版本5的相关漏洞 注意:111.198.29.45是我的场景IP解题方法:1、ThinkPHP5.0有远程代码执行漏洞,复现输入: http://111.1
2020-04-14
下一篇 
安装centos,ubuntu,windows2012系统----问题汇总 安装centos,ubuntu,windows2012系统----问题汇总
1、centos精简版安装之后上不了网进入/etc/sysconfig/network-scripts修改ifcfg-ens33将ONBOOT修改为yes之后重启即可 2、centos修改主机名 3、ubuntu换源1>备份原始源文件
  目录