CRLFuzz – 一个用 Go 编写的扫描 CRLF 漏洞的 Linux 工具
CRLF 注入是一种软件应用程序编码漏洞,当攻击者在预期之外的地方注入 CRLF字符序列时,就会发生这种漏洞。在目标域上手动检查 CRLF 漏洞变得非常复杂。所以应该有一种自动化的方法来研究漏洞。 CRLFuzz 是一种用 Golang 语言设计的计算机化工具,只需单击一下即可扫描 CRLF 漏洞目标。 CRLFuzz 工具是开源的并且可以免费使用。
注意:由于 CRLFuzz 是一个基于 Golang 语言的工具,所以你需要在你的系统上有一个 Golang 环境。因此,请检查此链接以在您的系统中安装 Golang。 – 在 Linux 中安装 Go Lang
在 Kali Linux 上安装 CRLFuzz 工具
步骤 1 :如果您的系统中已经下载了 Golang,请通过检查 Golang 的版本来验证安装,使用以下命令。
go version
第 2 步:打开 Kali Linux 终端并使用以下命令移动到桌面。
cd Desktop
第 3 步:您现在在桌面上使用以下命令创建一个名为 CRLFuzz 的新目录。在这个目录中,我们将完成 CRLFuzz 工具的安装。
mkdir CRLFuzz
第 4 步:现在使用以下命令切换到 CRLFuzz 目录。
cd CRLFuzz
第 5 步:现在您必须安装该工具。您必须从 GitHub 克隆该工具。
git clone https://github.com/dwisiswant0/crlfuzz
第六步:工具已成功下载到CRLFuzz目录下。现在使用以下命令列出该工具的内容。
ls
第7步:您可以观察到在我们安装该工具时已经生成了一个CRLFuzz工具的新目录。现在使用以下命令移动到该目录:
cd crlfuzz/cmd/crlfuzz
第 8 步:使用以下命令构建工具。
go build
第 9 步:将工具移至 /bin 目录,以便在任何地方快速使用。
mv crlfuzz /usr/local/bin
第 10 步:现在我们完成了安装,使用以下命令查看工具的帮助(更好地理解工具)索引。
crlfuzz -h
在 Kali Linux 上使用 CRLFuzz 工具
示例 1 :单个 URL
crlfuzz -u "http://geeksforgeeks.org"
在此示例中,我们将对目标域 geeksforgeeks.org 执行 CRLF 漏洞扫描。 -u 标签用于指定域 URL。
示例 2:获取 方法
crlfuzz -u "http://geeksforgeeks.org" -X "GET"
在此示例中,我们将把 Scan 的方法从 POST 更改为 GET 方法。 -X 标记用于指定扫描的方法。
示例 3:静音
crlfuzz -u "http://geeksforgeeks.org" -s
在本例中,我们将执行静默扫描。在静默扫描中,只会显示易受攻击的目标。由于 geeksforgeeks.org 是一个安全网站,因此该工具未检测到任何易受攻击的目标。
示例 4 :详细
crlfuzz -u "http://geeksforgeeks.org" -v
1. 在本例中,我们将显示扫描的详细或详细输出。 -v 标签用于以详细模式显示输出。
2. 在下面的截图中,我们得到了在 geeksforgeeks.org 目标上没有执行查询的详细原因。
示例 5 :版本
crlfuzz -V
在此示例中,我们将显示 CRLFuzz 工具的版本。 -V 标签用于显示工具的版本。
示例 6 :列表中的 URL
crlfuzz -l target.txt
1. 在本例中,我们从文本文件中扫描目标。在下面的屏幕截图中,我们显示了 targets.txt 文件。
2.在下面的截图中,我们得到了我们的扫描结果。
示例 7 :来自标准输入
sublist3r -d geeksforgeeks.org | crlfuzz
在此示例中,我们将 crlfuzz 工具与 sublist3r 工具一起使用。
示例 8 :数据
crlfuzz -u "http://geeksforgeeks.org" -X "POST" -d "data=body"
在此示例中,我们使用 -d 标记来使用自定义数据。
示例 9 :添加标题
crlfuzz -u “http://geeksforgeeks.org” -H “authtoken:dba9cad7701495309c43f93e6bd1b3d2”
在此示例中,我们使用 -H 标记将 Header 添加到请求中。
示例 10 :使用代理
crlfuzz -u "http://geeksforgeeks.org" -x http://127.0.0.1:8080
在此示例中,我们使用 -x 标记中指定的代理服务器。
示例 11 :并发
crlfuzz -l target.txt -c 50
在此示例中,我们正在更改并发值。 Concurrency 是同时进行 fuzzing 的次数
示例 12 :输出
crlfuzz -l target.txt -o results.txt
在本例中,我们将结果保存在文本文件中。我们使用 -o 标签来保存结果。
在下面的屏幕截图中,我们正在显示结果 .txt 文件。
示例 13 :库
go run library.go
1. 在本例中,我们使用 CRLFuzz 作为库。
2. 在下面的屏幕截图中,我们正在运行该文件。