CRLFuzz是一款基于Go的CRLF漏洞快速扫描工具

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

上述命令将会显现工具的协助命令,下面是该工具支持的一切参数选项:
 

选项 描绘
-u,–url 定义要含糊的单个URL
-l,–list 文件中的含糊URL
-X,–method 指定要运用的恳求办法(默许:GET)
-o,–output 文件保管结果
-d,–data 定义恳求数据
-H,–header 将自定义标头传送给目的
-x,–proxy 运用指定的代理停止含糊测试
-c,–concurrent 设置并发级别(默许值:25)
-s,–silent 静音形式
-v,–verbose 细致形式
-V,–version 显现当前的CRLFuzz版本
-h,–help 显现其协助

 

目的选择

我们能够经过下列三种方式来定义待扫描的目的:
 

单一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

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片