首先说下我对wfuzz这个工具的简单介绍和理解。工具主要是做web模糊测试,最开始做fuzz我是自己写个脚本配合一些常用工具来测,后来看见这款工具因为是比较简单吧,学习成本比较低,而且主要返回结果效果不错,给大家推荐下。
这款工具的特点是可以把想要的结果过滤出来,但我感觉过滤机制还是有些欠缺的,现在只能根据字数,字符数,行数,响应码返回,如果可以遍历返回网页数据,然后我们设定关键字去匹配,来返回可以匹配上的payload,这就更强大了。
下面先说一下这款工具的安装,Kali自带,但是有些人习惯在Windows上安装,下面先说下Win上面安装过程和一些坑。
下载地址:点击 ,这个下载地址是修复好的。
首先你电脑要有Py环境
执行:pip setup.py install
会发现缺少模块WConio这个的错误,下载模块的地址:点击
按照自己版本选择下载,这里就会有个坑了,如果是32位或者linux之类的不会出问题,但是一般我们都是64位会出现下图错误。
这个错误的原因是因为VS环境没有配置好,一般都是没安装VS环境,我的解决办法是最笨的下载个VS2008,只安装C+,就可以解决了。网上还有别的解决方法修改环境变量,改注册表的之类,大家自行搜索。
降低大家的学习成本,能够快速使用(也是我懒吧 =、=),我以最简单直接的方法介绍基本常用语法,附带大小比较常用例子。
基础语法
wfuzz [options] -z payload,params <url>
常用参数
z payloads里面的参数(wfuzz -e payloads 可以查看)
-z file,1.txt(以文件形式,导入1.txt)
-z range,1-10(以范围形式,1到10)
-z list,1-2-3-10(列表形式,1,2,3,10)
-d 设定POST量
-d “uname=admin&passwd=admin”
-b 设定cookie量
-b “cookie=”
-H 设定头部信息
-H “User-Agent: firfox”
-X 设定请求方法
-X GET
-R 递归深度,探测目录很好
-R 1(深度为1)
-t 并发数 / -s 请求间隔时间 (这个主要是防拉黑,比如我要fuzz狗)
-t 3 -s 5
-f 输出到文件的格式,格式有raw,json,csv,magictree,html
-f /tmp/1,html (将结果输出到tmp目录下的1,以html格式)
输出的结果信息解析:
结果信息
ID:测试时的请求序
Response:HTTP响应吗 C
Lines:响应信息中的行数 L
Word:响应信息中的字数 W
Chars:响应信息中的字符数 H
Payload:当前使用的payload
隐藏结果 --hc --hl --hw --hh
隐藏响应码405 --hc 405
显示结果 --sc --sl --sw --sh
显示响应码405 --sc 405
常用例子
遍历id值隐藏500返回码并保存为html文件:
wfuzz -z range,1-200 --hc 500 -f 1,html http://www.XXX.net/Pro_show.asp?proid=FUZZ
如果是以表格形式输出,感觉没有网页看的爽,而且没有payloads
需要一次测试多个FUZZ
Wfuzz -z file,1.txt -z file,2.txt http://www.xxx.com/FUZZ/FUZ2Z.html
对于需要base64加密的cookie
Wfuzz -z file,1.txt,base64 -b “cookie=”FUZZ” http://www.xxx.com”
探测目录
Wfuzz -z file,common.txt -R 2 -f 2.html,html http://www.baidu.com/FUZZ
基本用法也就是这些了,大佬们基本都可以去自己构造测试数据,其实有很多工具可以去得到这些数据,主要的工作是之后的数据分析,这就要看自己的经验了。
附上一点理解:使用东西最好讲究目的性,如果只是使用,可以快速入门,降低学习成本,来提高工作效率。如果是做研究工作,可以去慢慢研究实现方式,工具编写的优点,这个工具应该已经有年头了。
文章中如有错误希望大佬们指正。
*本文作者:一只耗子,转载请注明来自 FreeBuf.COM