CRLFuzz——用 Go 编写的快速扫描 CRLF 漏洞的工具

CRLFuzz——用 Go 编写的快速扫描 CRLF 漏洞的工具

CRLFuzz

用 Go 制作
前往报告
执照
欢迎贡献
戈多克

用 Go 编写的快速扫描 CRLF 漏洞的工具

图片[6]-CRLFuzz——用 Go 编写的快速扫描 CRLF 漏洞的工具

资源

安装

来自二进制

安装很简单。你可以从发布页面下载预构建的二进制文件,解压并运行!或者使用

▶ curl -sSfL https://git.io/crlfuzz | sh -s -- -b /usr/local/bin

来自来源

如果你已经安装并配置了 go1.13+ 编译器:

▶ GO111MODULE=on go install github.com/dwisiswant0/crlfuzz/cmd/crlfuzz@latest

为了更新该工具,您可以使用-u带有 go get 命令的标志。

来自 GitHub

▶ git clone https://github.com/dwisiswant0/crlfuzz
▶ cd crlfuzz/cmd/crlfuzz
▶ go build .
▶ mv crlfuzz /usr/local/bin

用法

基本用法

简单来说,CRLFuzz 可以通过以下方式运行:

▶ crlfuzz -u "http://target"

标志

▶ crlfuzz -h

这将显示该工具的帮助。以下是它支持的所有开关。

旗帜描述
-u,–url定义要进行模糊测试的单个 URL
-l,–列表文件中的模糊 URL
-X,–方法指定要使用的请求方法(默认值:GET)
-o,–输出保存结果的文件
-d,——数据定义请求数据
-H,–header将自定义标头传递给目标
-x,——代理使用指定的代理进行模糊测试
-c,–并发设置并发级别(默认值:25)
-s、–silent静音模式
-v,–详细详细模式
-V,–版本显示当前 CRLFuzz 版本
-h,–帮助显示其帮助

目标

您可以通过 3 种方式定义目标:

单一 URL

▶ crlfuzz -u "http://target"

列表中的 URL

▶ crlfuzz -l /path/to/urls.txt

来自标准输入

如果您想与其他工具链接起来。

▶ subfinder -d target -silent | httpx -silent | crlfuzz

方法

默认情况下,CRLFuzz 使用GET方法发出请求。如果要更改它,可以使用-X标志。

▶ crlfuzz -u "http://target" -X "GET"

输出

您还可以将模糊测试结果保存到带有标志的文件中-o

▶ crlfuzz -l /path/to/urls.txt -o /path/to/results.txt

数据

如果您想使用POST,DELETE,PATCH或其他方法发送数据请求,您只需要使用-d标志。

▶ crlfuzz -u "http://target" -X "POST" -d "data=body"

添加标题

您可能想要使用自定义标头来添加 cookie 或其他标头部分。

▶ crlfuzz -u "http://target" -H "Cookie: ..." -H "User-Agent: ..."

使用代理

使用代理,可以使用前缀指定代理字符串protocol://来指定替代代理协议。

▶ crlfuzz -u "http://target" -x http://127.0.0.1:8080

并发

并发度是指同时进行模糊测试的数量。CRLFuzz 提供的默认值是25,你可以使用-c标志来更改它。

▶ crlfuzz -l /path/to/urls.txt -c 50

沉默的

如果您使用该标志激活此静默模式-s,您将只会看到易受攻击的目标。

▶ crlfuzz -l /path/to/urls.txt -s | tee vuln-urls.txt

详细

与静默模式不同,如果标志出现错误,它将显示错误详细信息-v

▶ crlfuzz -l /path/to/urls.txt -v

版本

使用标志显示 CRLFuzz 的当前版本-V

▶ crlfuzz -V

图书馆

您可以将 CRLFuzz 用作库。

package main

import (
	"fmt"

	"github.com/dwisiswant0/crlfuzz/pkg/crlfuzz"
)

func main() {
	target := "http://target"
	method := "GET"

	// Generates a potentially CRLF vulnerable URLs
	for _, url := range crlfuzz.GenerateURL(target) {
		// Scan against target
		vuln, err := crlfuzz.Scan(url, method, "", []string{}, "")
		if err != nil {
			panic(err)
		}

		if vuln {
			fmt.Printf("VULN! %s\n", url)
		}
	}
}

帮助和错误

如果你仍然感到困惑或者发现了 bug,请打开问题。我们欢迎所有 bug 报告,由于时间不足,某些功能尚未测试。

国内下载链接

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享