CRLFuzz
用 Go 编写的快速扫描 CRLF 漏洞的工具
![图片[6]-CRLFuzz——用 Go 编写的快速扫描 CRLF 漏洞的工具](https://user-images.githubusercontent.com/25837540/90128972-fc3bdf00-dd91-11ea-8c3b-0d6f4e8c6ba3.png)
资源
安装
来自二进制
安装很简单。你可以从发布页面下载预构建的二进制文件,解压并运行!或者使用
▶ 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