freeBuf
主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

SmuggleFuzz:一款功能强大的高级HTTP降级走私安全扫描工具
2024-02-18 22:38:17

关于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传送门

参考资料

https://moopinger.github.io/blog/smugglefuzz/fuzzing/smuggling/2024/01/31/SmuggleFuzz.html

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

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