🖌️
Functfan的格物致知
  • 写在前面
  • java技术
    • J2EE 全面简介
  • java安全
    • 反序列化漏洞
      • 序列化/反~
      • Ysoserial
        • Java反序列化之Vaadin1
        • Java反序列化之Groovy1
        • Java反序列化之Jdk7u21
        • Java反序列化之Commons beanUtils
        • Java反序列化之Commons-Collections
          • CommonsCollections1
          • CommonsCollections2
          • CommonsCollections1
          • CommonsCollections2
          • CommonsCollections3
          • CommonsCollections4
          • CommonsCollections5
          • CommonsCollections6
          • CommonsCollections7
      • Marshalsec
    • XXE漏洞
      • XXE爱之初印象
      • XXE漏洞写法及防御
      • XXExploiter工具
  • web安全
    • 一句话木马
  • 渗透测试
    • 网络资产收集
    • 端口服务探测
    • 边界突破
    • 内网穿透
    • 容器与K8S安全测试
  • 漏洞挖掘
    • web类框架研究报告
      • Xstream经验
      • weblogic漏洞研究经验笔记
      • WebLogic安全研究报告
    • 漏洞挖掘入门
      • 小白入门
      • 源代码审计方法
        • Java类编译与反编译基础
        • IDEA使用技巧
        • IDEA Java程序调试
      • Fuzzing技术
        • 方法论
          • fuzzing的四个技能
        • 工具集
          • tmnt-Web应用漏洞fuzzer
          • wfuzz-web app fuzzer
          • AFL-基于变异的fuzz工具
      • 物联网漏洞挖掘技术
        • 物联网设备固件模拟分析环境*(亲测下载好慢,不建议使用该教程)
        • 智能设备漏洞挖掘之固件提取
        • pwndbg调试工具使用教程
    • 漏洞情报监测
    • 漏洞安全检测工具
      • 容器安全检测脚本总结
      • WebLogic漏洞检测小工具
    • 漏洞复现
      • 操作系统
        • windows
        • Linux
          • 脏牛漏洞-Docker逃逸POC(dirtycow-vdso)代码分析
          • Dirty CoW脏牛内核提权漏洞(CVE-2016-5195)
      • 数据库
      • WEB服务组件
        • CVE-2020-2883
        • F5 BIG-IP远程代码执行漏洞(CVE-2020-5902)
        • Apache Solr 远程命令执行漏洞(CVE-2019-0193)
      • 云计算安全
        • CVE-2020-15257-容器逃逸-containerd
      • 物联网安全
        • TP-Link SR20 本地网络远程代码执行漏洞
  • CTF比赛
    • BUUCTF-练习场web
    • xctf-攻防世界新手练习区web
    • Exploit利器——Pwntools
  • 新技术研究
    • 区块链
    • 云原生安全
      • 虚拟化hypervisor简介
      • Docker容器基础
        • 云原生攻防研究:容器基础
          • Linux内核基础
          • Docker容器基础
          • 理解容器进程
          • 组件组成:剖析 Docker 组件作用及其底层工作原理
          • Docker镜像的内部结构(四)
          • docker之namespace,cgroup与unionFS
          • Linux内核安全模块之AppArmor
          • Linux沙箱之seccomp
          • Linux权限管理之Capabilities
        • 云原生攻防研究:Docker安全性与攻击面分析
        • 云原生攻防研究:容器逃逸技术概览
        • 云原生攻防研究:针对容器的渗透测试方法
        • 云原生攻防研究:漏洞缓解技术
      • Kubernetes容器编排基础
        • k8s基本概念
        • 云原生攻防研究:Kubernetes安全分析
        • 云原生攻防研究:Kubernetes攻击矩阵
    • 联邦安全
    • 云边协同
    • 安全多方计算
由 GitBook 提供支持
在本页
  • 爆破文件、目录
  • 遍历枚举参数值
  • POST请求测试
  • Cookie测试
  • HTTP Headers测试
  • 测试HTTP请求方法(Method)
  • 使用代理
  • 认证
  • 递归测试
  • 并发和间隔
  • 保存测试结果
  1. 漏洞挖掘
  2. 漏洞挖掘入门
  3. Fuzzing技术
  4. 工具集

wfuzz-web app fuzzer

Web application fuzzer

上一页tmnt-Web应用漏洞fuzzer下一页AFL-基于变异的fuzz工具

最后更新于5年前

以下内容来自「」,如有侵权,请及时联系我删除!

工具GitHub地址:

爆破文件、目录

wfuzz本身自带字典:

进入各类目录查看所有的字典文件如下:

.├── Injections
│   ├── All_attack.txt
│   ├── SQL.txt
│   ├── Traversal.txt
│   ├── XML.txt
│   ├── XSS.txt
│   └── bad_chars.txt
├── general
│   ├── admin-panels.txt
│   ├── big.txt
│   ├── catala.txt
│   ├── common.txt
│   ├── euskera.txt
│   ├── extensions_common.txt
│   ├── http_methods.txt
│   ├── medium.txt
│   ├── megabeast.txt
│   ├── mutations_common.txt
│   ├── spanish.txt
│   └── test.txt
├── others
│   ├── common_pass.txt
│   └── names.txt
├── stress
│   ├── alphanum_case.txt
│   ├── alphanum_case_extra.txt
│   ├── char.txt
│   ├── doble_uri_hex.txt
│   ├── test_ext.txt
│   └── uri_hex.txt
├── vulns
│   ├── apache.txt
│   ├── cgis.txt
│   ├── coldfusion.txt
│   ├── dirTraversal-nix.txt
│   ├── dirTraversal-win.txt
│   ├── dirTraversal.txt
│   ├── domino.txt
│   ├── fatwire.txt
│   ├── fatwire_pagenames.txt
│   ├── frontpage.txt
│   ├── iis.txt
│   ├── iplanet.txt
│   ├── jrun.txt
│   ├── netware.txt
│   ├── oracle9i.txt
│   ├── sharepoint.txt
│   ├── sql_inj.txt
│   ├── sunas.txt
│   ├── tests.txt
│   ├── tomcat.txt
│   ├── vignette.txt
│   ├── weblogic.txt
│   └── websphere.txt
└── webservices
    ├── ws-dirs.txt
    └── ws-files.txt

Wfuzz爆破文件:

wfuzz -w wordlist URL/FUZZ.php

Wfuzz爆破目录:

wfuzz -w wordlist URL/FUZZ

遍历枚举参数值

e.g. 假如你发现了一个未授权漏洞,地址为:http://127.0.0.1/getuser.php?uid=123 可获取uid为123的个人信息

uid参数可以遍历,已知123为三位数纯数字,需要从000-999进行遍历,也可以使用wfuzz来完成:

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

使用payloads模块类中的range模块进行生成。

POST请求测试

e.g. 发现一个登录框,没有验证码,想爆破弱口令账户。

请求地址为: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

-d参数传输POST请求正文。

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占位符即可。

HTTP Headers测试

e.g. 发现一个刷票的漏洞,这个漏洞需要伪造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参数)。

测试HTTP请求方法(Method)

e.g. 想测试一个网站(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占位符。

使用代理

做测试的时候想使用代理可以使用如下命令:

wfuzz -w wordlist -p proxtHost:proxyPort:TYPE URL/FUZZ

-p参数指定主机:端口:代理类型,例如我想使用ssr的,可以使用如下命令:

wfuzz -w wordlist -p 127.0.0.1:1087:SOCKS5 URL/FUZZ

多个代理可使用多个-p参数同时指定,wfuzz每次请求都会选取不同的代理进行。

认证

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

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

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

--basec/ntml/digest username:password

递归测试

使用-R参数可以指定一个payload被递归的深度(数字)。例如:爆破目录时,我们想使用相同的payload对已发现的目录进行测试,可以使用如下命令:

wfuzz -z list,"admin-login.php-test-dorabox" -R 1 http://127.0.0.1/FUZZ

如上命令就是使用了自定义字典列表:

admin
login.php
test
dorabox	

递归深度为1也就是说当发现某一个目录存在的时候,在存在目录下再递归一次字典。

并发和间隔

wfuzz提供了一些参数可以用来调节HTTP请求的线程

e.g. 你想测试一个网站的转账请求是否存在HTTP并发漏洞(条件竞争)

请求地址:http://127.0.0.1/dorabox/race_condition/pay.php

POST请求正文:money=1

使用如下命令:

wfuzz -z range,0-20 -t 20 -d "money=1" http://127.0.0.1/dorabox/race_condition/pay.php?FUZZ

测试并发要控制请求次数,在这里为使用range模块生成0-20,然后将FUZZ占位符放在URL的参数后不影响测试即可,主要是用-t参数设置并发请求,该参数默认设置都是10。

另外使用-s参数可以调节每次发送HTTP的时间间隔。

保存测试结果

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参数,指定值的格式为输出文件位置,输出格式。

但相对和来说还是不够全面不够强大的,当然如果有自己的字典列表最好~

0x03.png
FuzzDB
SecLists
安全脉搏key师傅--Wfuzz基本功
https://github.com/xmendez/wfuzz