Wfuzz使用学习

工具用了不总结,使用命令很容易生疏,今天就把笔记梳理总结一下。

0x01 简介

WFuzz是用于Python的Web应用程序安全性模糊工具和库。它基于一个简单的概念:它将给定有效负载的值替换对FUZZ关键字的任何引用。是一款很好的辅助模糊测试工具。它允许在HTTP请求里注入任何输入的值,针对不同的WEB应用组件进行多种复杂的爆破攻击。比如:参数、认证、表单、目录/文件、头部等等。

0x02 特性

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

  • 递归(目录发掘)
  • Post数据爆破
  • 头部爆破
  • 输出HTML(详细报告,点击链接查看内容,POST数据也能阅览)
  • 多彩输出
  • 返回码、词数、行数等等来隐藏结果。
  • URL编码
  • Cookie
  • 多线程
  • 代理支持
  • 多参数fuzz
    在平常的渗透测试中,用好Wfuzz对我们的帮助非常大。

要安装WFuzz,只需使用apt-get install wfuzz

kali里也自带WFuzz
Github:https://github.com/xmendez/wfuzz

0x03 基本使用

使用–h和–help开关分别获取基本和高级帮助用法。
虽然WFuzz自带字典但是还是不够,推荐github上2万star的字典SecLists

常用命令:

--hc 过滤状态码
--sc 需要显示的状态码
-c 带颜色显示
-w 指定使用字典
-z 设置payload 【比如:字典】
-z file,1.txt(以文件形式,导入1.txt)
-z range,1-10(以范围形式,1到10)
-z list,1-2-3-10(列表形式,1,2,3,10)
-t 设置线程 默认10
-s 请求间隔时间
-d 设定POST量
-d “uname=admin&passwd=admin”
-b 设定cookie量
-b “cookie=”
-H 参数来指定HTTP请求的请求头,多次指定多次使用。
-H “User-Agent: firfox”
-f 输出到文件的格式,格式有raw,json,csv,magictree,html
-f /tmp/1,html (将结果输出到tmp目录下的1,以html格式)
-X 设定请求方法
-X GET
-R 递归深度,探测目录很好
递归深度为1也就是说当发现某一个目录存在的时候,在存在目录下再递归一次字典。
-R 1(深度为1)
显示或隐藏信息
使用 --hc --hl --hw --hh 可以隐藏相应结果
--hc 503:隐藏响应码为503的
--hl 20:隐藏响应信息行数为20行的
--hw 30:隐藏响应信息中字数为30的
--hh 50:隐藏响应信息中字符数为50的
使用 --sc --sl --sw --sh 可以特别显示相应结果
--sc 405:显示响应码405
剩下的参考隐藏结果的操作

基础语法:

1.一个典型的Wfuzz命令行执行,指定一个字典有效负载和一个URL,如下所示:

wfuzz -w wordlist/general/common.txt http://testphp.vulnweb.com/FUZZ#

用FUZZ占位表示要测试的地方。
2.测试LFI漏洞可读取文件,因为有些请求虽然返回的是200,但是没有任何内容,所以我用--hl 0 过滤掉了这部分。-c 是否选择带颜色的输出
Wfuzz使用学习_第1张图片
3.测试URL中的参数

wfuzz -z range,0-100 --hl 106 http://192.168.0.102/Home/Run/tui.html?uid=FUZZ

Wfuzz使用学习_第2张图片
4.POST请求测试
发现一个登录框,没有验证码,想爆破弱口令账户。
请求地址为:http://127.0.0.1/login.php
POST请求正文为:username=&password=
使用wfuzz测试:

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

高阶使用参考:
https://www.fuzzer.xyz/2019/03/29/WFUZZ使用教程/#Wfuzz高阶功法

你可能感兴趣的:(Wfuzz使用学习)