SmuggleFuzz:一款功能强大的高级HTTP降级走私安全扫描工具

本文介绍了SmuggleFuzz,一个基于Go语言的高级HTTP安全扫描工具,它允许研究人员自定义检测方法,检测HTTP状态码、响应大小和RST_STREAM帧,适用于深入探究HTTP降级走私问题。提供了详细的安装、构建和使用指南,以及示例命令行操作。
摘要由CSDN通过智能技术生成

关于SmuggleFuzz

SmuggleFuzz是一款功能强大的高级HTTP降级走私安全扫描工具,该工具基于纯Go语言开发,并且高度可配置。SmuggleFuzz为广大研究人员提供了一个可定制的小工具列表,可以帮助我们深入了解目标应用程序的HTTP降级走私安全问题。

SmuggleFuzz支持研究人员自定义实现检测方法,包括监控HTTP状态码和响应大小,而且还可以处理RST_STREAM帧,以更好地定位成功的HTTP走私请求或识别失败的测试向量。

工具安装

发布版本

广大研究人员可以直接访问该项目的【Releases页面】下载并安装最新版本的SmuggleFuzz工具。

手动构建

由于该工具基于纯Go语言开发,因此我们首先需要在本地设备上安装并配置好最新版本的Go语言环境。

然后运行下列命令下载该工具的最新版本源码:

go install github.com/moopinger/smugglefuzz@latest

代码编译

或者,使用下列命令将该项目源码克隆至本地:

git clone https://github.com/moopinger/smugglefuzz.git

然后切换到项目目录中,使用go build构建项目源码:

cd smugglefuzz

go build .

./smugglefuzz

工具使用

当前版本的SmuggleFuzz支持三种命令,即scan、request和output。

scan命令

Usage:

  smugglefuzz scan [flags]

 

Flags:

  -c, --confirm             发生超时的时候,启用该参数可以判断目标是否存在漏洞

  -d, --data string          要发送的HTTP/2数据帧,例如99\r\n (默认为"99\r\n")

      --dc                禁用输出颜色高亮显示

  -f, --file string            包含多个URL格式目标的文件,每个目标单独一行

      --filter string        通过字符串或帧类型过滤请求,例如 405, 200, 502, TIMEOUT, RST, GOAWAY,等.

  -H, --header string     插入一个自定义Header,格式为"Cookie: date=...; session=...;"

  -h, --help                  查看scan命令帮助信息

  -i, --interval int             检测超时周期,单位为秒(默认为5秒

  -x, --method string         要使用的HTTP请求方法(默认为"POST")

  -s, --save-success string   如果请求被确认为成功,则将结果存储至文件

  -t, --threads int           要运行的线程数量(默认为4)

  -u, --url string            要扫描的目标URL

  -w, --wordlist string       要使用的小工具自定义列表

request

Usage:

  smugglefuzz request [flags]

 

Flags:

  -a, --attack string       测试Header,由;分隔

  -d, --data string        要发送的HTTP/2数据帧默认为"99\r\n")

      --dc              禁用输出颜色高亮

  -H, --header string     插入自定义Header,例如"Cookie: values"

  -h, --help             查看request命令帮助信息

  -i, --interval int        检测超时周期,单位为秒(默认为5秒)

  -x, --method string    要使用的HTTP请求方法(默认为"POST")

  -u, --url string         提交请求的目标URL

工具使用演示

scan命令

smugglefuzz scan -u https://example.com/ --confirm

smugglefuzz scan -u https://example.com/ --filter TIMEOUT --confirm

smugglefuzz scan -u https://example.com/ -w wordlist.txt -t 10 --confirm --filter TIMEOUT

smugglefuzz scan --dc -u https://example.com/ -w wordlist.txt -x PUT --confirm

smugglefuzz scan -f multiple_targets.txt --confirm -t 10

smugglefuzz scan -f multiple_targets.txt -w wordlist.txt --confirm -s ./save-success.txt --filter TIMEOUT

smugglefuzz scan -f multiple_targets.txt -w wordlist.txt -H "Cookie: date=...; session=...;" -s ./save-success.txt -x PUT --filter TIMEOUT

request命令

smugglefuzz request -u https://www.example.com/ -a "content-length\t; 13"

smugglefuzz request -u https://www.example.com/ -a "content-length\t; 13" -x PUT

smugglefuzz request -u https://www.example.com/ -a "content-length\t; 13" -H "Cookie: date=...; session=...;" --data "223\r\n"

工具运行截图

项目地址

SmuggleFuzz:【GitHub传送门

参考资料

HTTP Downgrade attacks with SmuggleFuzz | MOOPINGER

https://golang.org/x/net/http2

  • 24
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值