CRLFuzz
CRLFuzz是一款功能强大的CRLF漏洞扫描工具,该工具基于Go语言开发,可以帮助广大研究人员以非常快的速度完成CRLF漏洞的扫描工作。
工具安装
源码安装
该工具的安装非常简单,广大研究人员可以直接从该项目的Release页面下载预编译的源码,下载完成后解压即可运行,或者直接使用下列命令安装:
curl -sSfL https://git.io/crlfuzz | sh -s -- -b /usr/local/bin
源安装
如果你在你的本地设备上安装好了Go v1.13+环境,可以通过下列命令进行工具的安装和配置:
GO111MODULE=on go get -v github.com/dwisiswant0/crlfuzz/cmd/crlfuzz
如需更新工具,你可以使用-u参数来运行go get命令。
GitHub安装
除此之外,广大研究及人员还可以使用下列命令从GitHub来安装并配置该工具:
//github.com/dwisiswant0/crlfuzz :
cd crlfuzz/cmd/crlfuzz
go build .
mv crlfuzz /usr/local/bin
工具使用
基础使用
该工具的使用也非常简单,我们可以直接运行下列工具来扫描CRLF漏洞:
crlfuzz -u "http://target"
参数选项
crlfuzz -h
上述命令将会显示工具的帮助命令,下面是该工具支持的所有参数选项:
目标选择
我们可以通过下列三种方式来定义待扫描的目标:
单一URL:
crlfuzz -u "http://target"
URL列表:
crlfuzz -l /path/to/urls.txt
Stdin输入(支持其他工具获取输入):
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"
添加Header
我们可以使用下列方法来使用自定义Header来添加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
Verbose模式
跟静默模式不同,该模式将显示详细的扫描信息,该模式使用-v参数激活:
crlfuzz -l /path/to/urls.txt -v
版本信息
我们可以使用-V参数来查看CRLFuzz的版本信息:
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! %sn", url)
}
}
}
工具运行截图
许可证协议
CRLFuzz项目的开发与发布遵循MIT开源许可证协议。
项目地址
CRLFuzz:https://github.com/dwisiswant0/crlfuzz
精彩推荐
本文始发于微信公众号(FreeBuf):CRLFuzz:一款基于Go的CRLF漏洞快速扫描工具
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论