CWFF 是一个工具,它通过并发以最高速度为您创建高质量的特殊模糊测试/内容发现单词列表,并且它深受 @tomnomnom 的 Who, What, Where, When, Wordlist #NahamCon2020 启发。

CWFF [-h] [--threads] [--github] [--subdomains] [--recursive] [--js-libraries] [--connected-websites] [--juicy-files] [--use-filter-model] [-o] domain
positional arguments:
domain 目标网站(当然)
optional arguments:
-h, --help 显示此帮助信息并退出
--threads 最大并发线程数(默认值:1000)
--github 从给定的 GitHub 仓库收集端点(例如:https://github.com/google/flax)
--subdomains 在 Wayback Machine 搜索时也从子域中提取端点!
--recursive 对提取的端点递归处理(增加更多端点,但有时准确性降低)!
--js-libraries 也从 JS 库中提取端点,而不仅仅是他们自己编写的 JS!
--connected-websites 包含从相连网站提取的端点
--juicy-files 包含从 sitemap.xml 和 robots.txt 等 juicy 文件中提取的端点
--use-filter-model 使用 filter_model 文件过滤结果端点
-o 端点和参数的输出目录(默认值:网站名称)
它基本上使用多种来源收集目标及其子域的端点和参数,我们现在将讨论这些来源:
许多工具仅浏览 wayback 的首页以节省时间,但这里我们以很少的时间浏览所有记录,但这在使用 --subdomains 标志时也会花费大量时间。
<script> 标签收集的文件CWFF 尝试将 JS 库与网站开发者实际编写的 JS 文件区分开来,它通过查看 JS 文件名来实现。默认情况下,CWFF 仅从开发者编写的 JS 文件中提取端点,若要使用 JS 库(通常没有帮助),请激活 --js-libraries 标志。
Common crawl CDX 索引和 Alien vault OTX(开放威胁交换)
如果您给 CWFF 添加了 --juicy-files 标志,它还会从诸如 Sitemap.xml 和 robots.txt 之类的文件中提取端点(将来可能会添加更多)
如果您使用 --github 标志给 CWFF 指定一个 GitHub 仓库,它将使用 GitHub API 从该仓库中提取路径(无需 API 密钥)。
需要说明的是,CWFF 仅使用文件和目录路径,因此它不会从文件内部提取端点!
--connected-websites 标志时,CWFF 将使用 builtwith 网站 API(需要密钥但免费)从关系配置文件中提取与目标相连的网站,然后从这些网站的源代码中提取端点。注意:您可以从此页面获取 API 密钥,并在
API_keys.py文件中设置该变量。
在从所有这些来源收集端点后,如果您使用了 --recursive 标志,CWFF 将递归地从收集到的端点中提取部分。
parseq/javadoc/1.1.0/com 这样的端点将变成以下所有端点:
parseq/javadoc/1.1.0/com
parseq/javadoc/1.1.0/
parseq/javadoc/
parseq/
javadoc/
1.1.0/
com
注意:所有收集到的端点/参数都会被清理并排序,去除重复项以获得唯一的结果。
当然,在所有这些来源和工作之后,重要的端点中会有很多不需要/无用的端点,这时过滤就发挥作用以节省时间和资源。
在 CWFF 中,您可以使用三种方法检测并移除不需要的端点:
所有这些过滤选项都可以通过设置 filter_model.py 文件中的变量,然后在启动 CWFF 时使用 --use-filter-model 标志来指定。如果您不知道如何设置这些变量,请查看我在文件中留下的注释,那是我最常用的设置,在截图中它将收集到的端点数量从 26,177 减少到了 3,629。
如果您在运行 CWFF 时忘记使用过滤功能,别担心,我为您提供了解决方案 😄
您可以使用脚本 filter.py 以以下方式过滤已有的端点,它会自动加载 filter_model.py 文件,无需重新运行 CWFF:
python filter.py wordlist.txt output.txt
python3 -m pip install -r requirements.txt
python3 cwff.py --help
如果我的工作对您有帮助,欢迎请我喝杯咖啡表示感谢。
CWFF 旨在帮助进行渗透测试,对任何滥用或非法用途概不负责。
允许复制本工具的代码或在其他工具中使用,但需注明来源 :smile