Wfuzz:功能强大的web漏洞挖掘工具

admin 2024年1月12日10:02:24评论29 views字数 2672阅读8分54秒阅读模式

免责声明:涉及到的所有技术和工具仅用来学习交流,严禁用于非法用途,未经授权请勿非法渗透,否则产生的一切后果自行承担!

0 引言

  在靶场复现prime:1发表后,小伙伴们发现wfuzz这个工具好强大,都想听小智聊聊它,今天这就来啦,都带好小板凳哦~

1 FUZZ技术简介

  模糊测试是一项简单的技术,但它却能揭示出程序中的重要 bug。在许多程序中,一个小小的错误输入就有可能导致服务的崩溃,进而影响整个操作系统。因此,测试人员需要进行模糊测试,来发现哪些功能点能被这样的错误输入所利用。模糊测试指用随机坏数据(fuzz)攻击一个程序,然后观察哪里遭到了破坏。其特点在于不符合逻辑:自动模糊测试不去猜测哪个数据会导致破坏,而是将尽可能多的杂乱数据投入程序中,所以可以覆盖到测试人员无法预料的漏洞点。

2 工具使用

        Wfuzz是一个基于PythonWeb爆破程序,它支持多种方法来测试WEB应用的漏洞。它可以测试的漏洞包括注入、路径遍历、溢出、跨站脚本、可预测的认证、可预测的session id、可预测的目录和文件、认证漏洞、不安全的直接对象引用等。Kali中自带wfuzz,也可以安装在Windows系统中。

        Wfuzz中自带多个字典,可以根据测试目标特征进行指定:

Wfuzz:功能强大的web漏洞挖掘工具

Wfuzz:功能强大的web漏洞挖掘工具

2.1 爆破后台文件

wfuzz -w wordlist URL/FUZZ.php

  其中wordlist为指定的字典,将文件名写为“FUZZ”,程序即可自动使用字典遍历文件名。

2.2 爆破后台目录

wfuzz -w wordlist URL/FUZZ

  将url中我们想要猜测的部分写为“FUZZ”,程序即可自动使用字典遍历此url下的后台目录。

2.3 爆破url参数

wfuzz-z range,000-999 url/xxx.php?id=FUZZ

        rangeid参数的取值范围,-z为指定payload模块。将id值写为“FUZZ”,可测试当前url中的未授权访问漏洞。

wfuzz -z range,000-999 -b session=session -b cookie=cookie  url/xxx.php?id=FUZZ

  如果当前网站的测试需要cookiesession,可使用-b指定。

  除此之外,小智在《靶场复现-Prime:1》中使用了wfuzz的爆破url参数名功能:

Wfuzz:功能强大的web漏洞挖掘工具

  在暴力破解index.php的参数名时,小智使用了最常用的字典common.txt,将参数名写为FUZZ,程序即可帮我们猜解出可以访问的参数名。

2.4 递归测试

wfuzz-z list,"admin-login.php-test.php" -R 1 URL/FUZZ

  使用-R可以指定递归的深度。在上面的payload中,“-R 1”意为在我们已经测试出来的目录再递归一次字典,测试其下一级目录。

2.5 登录框弱口令爆破

wfuzz -w /usr/share/wfuzz/wordlist/general/mima.txt -w /usr/share/wfuzz/wordlist/general/mima.txt -d "username=FUZZ&password=FUZZ" http://192.168.46.129/vulnerabilities/brute

  因为此处是同时爆破两个参数,所以需要指定两次字典。-d指使用POST传参,后接当前登录界面的传参格式。

2.6 自定义headers爆破

wfuzz -w word.txt -H “user-agent:aaa” URL/FUZZ

  有些网站需要user-agent,这时我们需要用-H来自定义。

2.7 代理设置

  当我们遇到访问国外站点,或其它需要使用代理的情况,可以在fuzz中使用 “-p proxy 地址设置代理。代理支持SOCKS4SOCKS5也支持多个代理,只需要使用多个-p参数。

wfuzz -w word.txt -p localhost:8000 url

设置SOCKS4代理:

wfuzz -w word.txt -p localhost:8000: SOCKS4 url

2.8 并发控制

如果FUZZ测试目标存在WAF发送请求并发太高会被禁止wfuzz 中可以使用-t 参数来增加或减少并发数量,也可以使用-s 指定每次请求后的间隔秒数。

wfuzz -w wordlist -t 5 URL/FUZZ

 不指定并发数量默认为10

3 结果显示

Wfuzz:功能强大的web漏洞挖掘工具

ID::执行顺序
Response:HTTP响应状态
LinesHTTP 响应的行数

WordHTTP 响应单词个数

CharHTTP 响应的字节数
Payload尝试使用的字典内容

3.1 过滤器

        wfuzz执行完成后可能会出现成百上千的结果,而过滤器可以直接过滤掉我们不想看到的错误码,给我们节省很多寻找结果的时间-hl-hw-hc分别为按响应行数过滤、按响应单词数过滤和按响应字节数过滤。例如小智在《靶场复现-Prime:1》中使用了-hw按单词数过滤。

Wfuzz:功能强大的web漏洞挖掘工具

Wfuzz:功能强大的web漏洞挖掘工具

     图中对参数名的遍历一共出现了951个结果,但大部分不是我们需要的请求,无法访问到提供有用信息的文件。当遍历到能访问到文件的结果时,响应的长度一定和其它的不一样。所以我们选择过滤出现次数最多的长度,剩下的一般就是我们想要的结果。

3.2 结果输出为文件

  插件printers提供了将命令结果输出为文件的功能。

Available printers:

 Name      | Summary                             

--------------------------------------------------

csv        | CSV printer ftw                     

html      | Prints results in html format       

json      | Results in json format              

magictree| Prints results in magictree format  

 raw      | Raw output format  

  使用 -f 参数指定输出文件格式。

wfuzz -f outfile,html -w wordlist URL/FUZZ

原文始发于微信公众号(智检安全):Wfuzz:功能强大的web漏洞挖掘工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月12日10:02:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Wfuzz:功能强大的web漏洞挖掘工具http://cn-sec.com/archives/2384190.html

发表评论

匿名网友 填写信息