win11+python3.9+pycurl39+wfuzz3.1.0

声明: 本文章仅供学习使用,不得用于未授权的渗透测试,禁止用于非法用途。


概念介绍:

  • WFuzz是基于Python开发的Web安全模糊测试工具。可以在在HTTP请求里注入任何输入的值,针对不同的WEB应用组件进行多种复杂的爆破攻击。比如:参数、认证、表单、目录/文件、头部等等。

  • 它不仅仅是一个web扫描器:wfuzz能够通过发现并利用网站弱点/漏洞的方式帮助你使网站更加安全。wfuzz的漏洞扫描功能由插件支持

  • wfuzz提供了简洁的编程语言接口来处理wfuzz或Burpsuite获取到的HTTP请求和响应。这使得你能够在一个良好的上下文环境中进行手工测试或半自动化的测试,而不需要依赖web形式的扫描器。

原理介绍:

格式:wfuzz -w 字典 地址 #https://bbskali.cn/FUZZ

如上命令使用-w参数指定字典位置,然后跟上一个要测试的地址,所列的例子中有一个FUZZ单词,
这个单词可以理解是一个 占位符,这样就大概了解了wfuzz的基本运行原理。

下载地址:

https://github.com/xmendez/wfuzz

安装过程:

在windows上安装wfuzz之前需要先安装pycurl,注意需要安装对应python版本的pycurl;(kali自带wfuzz,开箱即用)

查找对应版本的pycurl,下载安装

https://www.lfd.uci.edu/~gohlke/pythonlibs/      //pycurl下载地址
python3.9 -m pip install pycurl-7.45.1-cp39-cp39-win_amd64.whl  //拷贝下载好的
pycurl到wfuzz的安装目录下,使用python3.9执行安装
我这里已经安装过了,所以会提示已经存在相同版本的pycurl,直接安装会提示successfully的。

安装wfuzz

python3.9 -m pip install wfuzz       //使用pip安装。如果你存在多个版本的python,就使用对应版本的pip进行安装即可,直接输入pip安装可能会出现安装位置错位问题;如果你仅有一个python,则请忽略。

安装成功!


使用介绍:

https://wfuzz.readthedocs.io/en/latest/

参数详解:

选项:

-h/--help:帮助
--help:高级帮助
--filter-help:筛选器帮助
--version:Wfuzz版本详细信息
-e<type>:可用编码器/有效负载/迭代器/打印机/脚本列表

--recipe<filename>:从配方中读取选项。对各种食谱重复上述步骤。
--dump recipe<filename>:将当前选项打印为配方
--oF<filename>:将模糊结果保存到文件中。这些可以稍后使用wfuzz有效负载来使用。

-c:带颜色的输出
-v:详细信息。
-f filename,printer:使用指定的打印机(如果省略了原始打印机)将结果存储在输出文件中。
-o printer:使用指定的打印机显示结果。
--interact:(beta)如果选中,则捕获所有按键。这允许您与程序交互。
--dry-run:打印应用请求的结果,而不实际发出任何HTTP请求。
--prev:打印以前的HTTP请求(仅当使用生成模糊结果的有效负载时)
--efield<expr>:显示指定的语言表达式以及当前负载。对各个字段重复上述操作。
--field<expr>:不显示有效负载,只显示指定的语言表达式。对各个字段重复上述操作。

-p addr:使用ip:port:type格式的代理。重复使用各种代理的选项。如果省略,类型可以是SOCKS4、SOCKS5或HTTP。

-t N:指定并发连接数(默认值为10)
-s N:指定请求之间的时间延迟(默认值为0)
-R depth:递归路径发现深度是最大递归级别。
-D depth:最大链接深度级别。
-L, --follow:遵循HTTP重定向
--ip-host:port:以ip:port格式指定要连接的ip,而不是URL的主机
-Z:扫描模式(将忽略连接错误)。
--req delay N:设置请求允许的最长时间(以秒为单位)(CURLOPT_TIMEOUT)。默认值90。
--conn-delay N:设置服务器连接阶段要花费的最长时间(以秒为单位)(CURLOPT_CONNECTTIMEOUT)。默认值90。

-A, --AA, --AAA: --script=default,verbose,discovery-v-c的别名
--no-cache:禁用插件缓存。将扫描每个请求。
--script=:相当于--script=默认值
--script=<plugins>:运行脚本的扫描<plugins>是以逗号分隔的插件文件或插件类别列表
--script help=<plugins>:显示有关脚本的帮助。
--script-args n1=v1,…:为脚本提供参数。即--script args grep.regex=“<A href=\”(.*?)\“>”

-u url:指定请求的url。
-m iterator:指定用于组合有效载荷的迭代器(默认为product)
-z payload:以名称[,参数][,编码器]的形式为每个FUZZ关键字指定有效负载。可以使用编码器列表,即md5-sha1。编码器可以是链式的,即。md5@sha1.可以使用编码器类别。即url
使用帮助作为有效负载来显示有效负载插件的详细信息(您可以使用--slice进行过滤)

--zP<params>:指定有效负载的参数(必须以-z或-w开头)。
--zD<default>:指定有效负载的默认参数(必须以-z或-w开头)。
--zE<encoder>:指定有效负载的编码器(它必须以-z或-w开头)。
--slice<filter>:使用指定的表达式过滤有效负载的元素。它必须以-z开头。
-w wordlist:指定wordlist文件(-z文件的别名,wordlist)。
-V alltype:所有参数brutforming(allvars和allpost)。不需要FUZZ关键字。
-X method:指定请求的HTTP方法,即HEAD或FUZZ

-b cookie:为请求指定cookie。对各种cookie重复选项。
-d postdata:使用postdata(例如:“id=FUZZ&catalog=1”)
-H header:使用header(例如:“Cookie:id=1312321&user=FUZZ”)。对各种标题重复选项。
--basic/ntlm/digest auth:格式为“user:pass”或“FUZZ:FUZZ”或

--hc/hl/hw/hh N[,N]+:隐藏具有指定代码/行/字/字符的响应(使用BBB从基线获取值)
--sc/sl/sw/sh N[,N]+:显示具有指定代码/行/字/字符的响应(使用BBB获取基线值)
--ss/hs正则表达式:显示/隐藏内容中具有指定正则表达式的响应
--filter<filter>:使用指定的筛选器表达式显示/隐藏响应(使用BBB从基线获取值)
--prefilter<filter>:使用指定的表达式在模糊化之前过滤项目。对串联过滤器重复上述步骤。

举例测试:

wfuzz --script=robots -z list,robots.txt http://www.webscantest.com/FUZZ

在python3.9的目录下测试运行,命令:直接使用wfuzz 

在wfuzz的安装目录下使用,路径在src下:


使用技巧:待补充!同时欢迎各位大佬投稿,共同学习~


参考文章:

https://blog.csdn.net/qq_43368538/article/details/120430714

https://www.cnblogs.com/Cx330Lm/p/17005800.html

https://www.bilibili.com/read/cv21726081


如果可以帮助到你,劳烦点点赞哦!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值