freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

CRLFuzz:一款基于Go的CRLF漏洞快速扫描工具
2020-11-04 14:26:50

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来安装并配置该工具:

▶ git clone https://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! %s\n", url)

}

}

}

工具运行截图

许可证协议

CRLFuzz项目的开发与发布遵循MIT开源许可证协议。

项目地址

CRLFuzz:【GitHub传送门

# 漏洞扫描 # 漏洞检测工具 # CRLF
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录