再fuzzing领域,最流行的是再二进制漏洞挖掘,后面也出来webfuzz,就是今天的wfuzz,其实有些在web领域算是暴力破解,但是说fuzz也没毛病。
安装及简介
直接pip安装即可
1 | pip install wfuzz |
kali的话是自带了的
或者直接下载源码,字典什么的比较好找
1 | git clone https://github.com/xmendez/wfuzz.git |
官方文档:https://wfuzz.readthedocs.io/en/latest/
Wfuzz的核心理念是用给定的payload去替换HTTP请求中的占位符,从而发现潜在的安全问题,例如可预测的认证、注入漏洞、路径遍历、跨站脚本等
使用
目录爆破
1 | -w wordlist : Specify a wordlist file (alias for -z file,wordlist). |
1 | wfuzz -w wordlist/general/common.txt http://testphp.vulnweb.com/FUZZ |
不过速度比御剑那些还是慢点,而且信息可读性低,没有汇总返回包200或者301等情况,可以使用–hc过滤掉404
1 | wfuzz -w wordlist/general/common.txt --hc 404 http://testphp.vulnweb.com/FUZZ |
1 | --hc/hl/hw/hh N[,N]+ : Hide responses with the specified code/lines/words/chars (Use BBB for taking values from baseline) |
子域爆破
1 | -c : Output with colors |
1 | $ wfuzz -c -Z -w wordlist/general/common.txt --hc XXX http://FUZZ.vulnweb.com |
或者自己提供一个简单的列表来爆破
1 | $ wfuzz -z list,www-testphp-admin-svn http://FUZZ.vulnweb.com/ |
多重模糊测试(多位置模糊)
1 | wfuzz -w wordlist/general/common.txt -w wordlist/general/common.txt -w wordlist/general/extensions_common.txt --hc 404 http://testphp.vulnweb.com/FUZZ/FUZ2ZFUZ3Z |
每个字典对应后面的FUZZ 、FUZ2Z 和 FUZ3Z
登录暴力破解
1 | -d postdata : Use post data (ex: "id=FUZZ&catalogue=1") |
1 | $ wfuzz -z file,wordlist/others/common_pass.txt -d "uname=FUZZ&pass=FUZZ" --hc 302 http://testphp.vulnweb.com/userinfo.php |
1 | $ wfuzz -w wordlist/general/common.txt -d "uname=FUZZ&pass=FUZZ" --hc 302 http://testphp.vulnweb.com/userinfo.php |
Cookie 模糊测试
1 | -b cookie : Specify a cookie for the requests |
带上cookie去请求
1 | $ wfuzz -z file,wordlist/general/common.txt -b "login=test%2Ftest" --hc 404 http://testphp.vulnweb.com/FUZZ |
fuzz cookie
1 | wfuzz -z file,wordlist/general/common.txt -b login=FUZZ http://testphp.vulnweb.com/ |
HEADER模糊测试
1 | $ wfuzz -w wordlist/Injections/SQL.txt -H "X-Forwarded-By: 127.0.0.1FUZZ" http://testphp.vulnweb.com/ |
请求方法模糊测试
1 | $ wfuzz -z list,GET-HEAD-POST-TRACE-OPTIONS -X FUZZ http://testphp.vulnweb.com/ |
通过代理进行模糊测试
比如下面可以给到burp
1 | wfuzz -z file,wordlist/general/common.txt -p localhost:8080 http://testphp.vulnweb.com/FUZZ |
下面是SOCKS5代理的例子
1 | wfuzz -z file,wordlist/general/common.txt -p localhost:9500:SOCKS5 http://testphp.vulnweb.com/FUZZ |
身份验证模糊
–basic:提供基本的用户名和密码验证
–ntlm:Windows 身份验证
–digest:通过摘要访问进行网络服务器协商
1 | $ wfuzz -z list,nonvalid-httpwatch --basic FUZZ:FUZZ https://www.httpwatch.com/httpgallery/authentication/authenticatedimage/default.aspx |
编码器
1 | $ wfuzz -z file,wordlist/general/common.txt,md5 http://testphp.vulnweb.com/FUZZ |