干货 | 赏金猎人的fuzz工具和字典总结

2023-01-03 18:06:20 浏览数 (1)

赏金猎人的fuzz工具和字典总结

通过手动输入输入来测试漏洞可能会麻烦。

在当今人们时间和耐心水平较低的时代,手动提供输入以查找目标中的错误/漏洞的想法可能会让人不知所措。

为了减少这个压倒性的问题并节省时间,模糊测试可能是一个很大的优势。

Fuzzing 是一个自动化过程,其中所有繁重的工作都由 fuzzing 工具处理。分析师所要做的就是查看流程完成后的响应、时间和状态代码。

考虑一个有许多输入字段来测试 XSS 的站点。在手动方法中,我们所做的只是将 XSS payload一个一个地提供给输入字段,这太麻烦了。

Fuzzing是在一定的时间间隔内向目标网站发送多个请求的过程或技术。换句话说,它也类似于暴力破解。

Fuzzing 是一个可以使用 Wfuzz、ffuf 等工具来实现的过程。你需要为工具提供目标 URL、参数、端点等以及某种输入。

然后 fuzzing 工具制作请求并将它们一个接一个地发送到目标。模糊测试完成后,需要分析响应、时间和状态代码是否存在漏洞。

用于模糊测试的工具

业内有数百种工具可用于进行模糊测试。下面列出了一些评价最高的流行模糊测试工具。

Wfuzz

Wfuzz通过将占位符 FUZZ 替换为 wordlist 值来工作。为了更清楚地理解这一点,让我们考虑一个例子:

代码语言:javascript复制
$ wfuzz -w userIDs.txt https://example.com/view_photo?userId=FUZZ

在上面的命令中,userIds.txt 是一个包含数字 ID 值的 worldlist 文件。在这里,我们告诉 wfuzz 对示例 URL 的请求进行模糊测试。请注意 URL 中的 FUZZ 单词,它将充当 wfuzz 的占位符,以替换单词列表中的值。将插入 userIDs.txt 文件的所有数字 ID 值,替换 FUZZ 关键字。

Ffuf

Ffuf是一个用 Go 语言编写的网络模糊测试工具,本质上是非常快速和递归的。它的工作方式类似于 Wfuzz,但相比之下它是递归的。Ffuf 还可以通过用 worldlist 值替换占位符 FUZZ 来工作。例如:

代码语言:javascript复制
$ ffuf -w userIDs.txt -u https://example.com/view_photo?userId=FUZZ

这里的 -w 是 wordlist 的标志,而 -u 是目标 URL 的标志。其余工作机制与Wfuzz相同。它用 userIDs.txt 值替换了 FUZZ 占位符。

GoBuster

GoBuster是另一种用 Go 语言编写的模糊器,最常用于模糊 URI、目录/路径、DNS 子域、AWS S3 存储桶、虚拟主机名,并支持并发。例如:

代码语言:javascript复制
$ gobuster dir -w endpoints.txt -u https://example.com

在上面的命令中,dir 指定我们正在对一个目录进行模糊测试,-u 是 URL 的标志,-w 是 wordlist 的标志,其中 endpoints.txt 是将从中获取有效负载的 worldlist 文件。该命令对端点运行并发请求以查找可用目录。

Fuzz字典和参考资料

在上面的例子中,我们已经看到了为什么我们需要一个字典。仅字典是不够的,必须非常适合你的 fuzzing 场景。如果你没有找到任何符合必要场景的词表,请考虑生成你自己的字典。下面提供了一些流行的字典和参考资料。

代码语言:javascript复制
(XSS) 备忘单
https://portswigger.net/web-security/cross-site-scripting/cheat-sheet

AwesomeXSS
https://github.com/s0md3v/AwesomeXSS

常用的payload
https://github.com/swisskyrepo/PayloadsAllTheThings

https://github.com/minimaxir/big-list-of-naughty-strings

https://github.com/Bo0oM/fuzz.txt

FuzzDB
https://github.com/fuzzdb-project/fuzzdb

bl4de字典
https://github.com/bl4de/dictionaries

重定向相关payload
https://github.com/cujanovic/Open-Redirect-Payloads

EdOverflow 漏洞赏金备忘单
https://github.com/EdOverflow/bugbounty-cheatsheet

SecLists
https://github.com/danielmiessler/SecLists

XssPayloads
https://twitter.com/XssPayloads

XssPayloads列表
https://github.com/payloadbox/xss-payload-list

Tips

声明一下,并不是每个人都使用模糊测试工具。每个人都有不同的习惯和方法。

使用模糊测试工具不是强制性的。根据你的条件和情况,你可以使用模糊测试工具,这将有利于您节省时间。

模糊测试大量的请求可能会导致您的 IP 地址被目标ban掉,有些人同意手动完成所有工作,而不是使用模糊测试工具。因此,由你手动测试漏洞或让模糊测试工具自动为你完成。

0 人点赞