freeBuf
主站

分类

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

特色

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

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

BlazeHTTP: 简单好用的 WAF 防护效果测试工具
nilpointer 2024-06-12 20:40:55 64418

BlazeHTTP 是一款简单易用的 WAF 防护效果测试工具。

  • 样本丰富:目前总样本33669条,持续更新中...

  • 无需配置:提供图形化界面和命令行版本,可直接通过 Release 下载预编译版本,也可以克隆代码本地自行编译

  • 报告导出:导出所有样本的执行结果,包括样本属性,执行时间,状态码,是否拦截等

测试指标

指标描述统计方法
检出率用来反应 WAF 检测能力的全面性,没有检出即为 ”漏报“。攻击样本拦截数量
误报率用来反应对正常流量的干扰,不靠谱的结果即为 ”误报“。正常样本拦截数量
准确率准确率是检出率和误报率的综合指标,避免漏报和误报顾此失彼。
检测耗时用来反应 WAF 性能,耗时越大则性能越差。

样本示例

# 正常样本:testcases/00/02/5ebf56a710da27b73a9ad59219f0.white
GET /rc-virtual-list@3.5.2/lib/hooks/useHeights.js HTTP/1.1
Host: npm.staticblitz.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Accept: */*
Origin: https://stackblitz.com
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://stackblitz.com/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7

# 黑样本:testcases/8a/36/0bbc7685860c526e33f3cbd83f9c.black
GET /vulnerabilities/sqli_blind/?id=1%27+or+%27%27%3D%27&Submit=Submit HTTP/1.1
Host: 10.10.3.128
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://10.10.3.128/vulnerabilities/sqli_blind/?id=1%27+and+%27%27%3D%27&Submit=Submit
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
Connection: close

测试效果

CloudFlarevs ModSecurityvs 雷池

指标CloudFlare,免费版本ModSecurity,PARANOIA级别1ModSecurity,PARANOIA级别4SafeLine,免费版本,平衡模式SafeLine,免费版本,严格模式
总样本数量3366933669336693366933669
成功3335033669336693366933669
错误3190000
检测率(越高越好)10.70%(恶意样本总数:570,正确拦截:61,漏报:509)69.74%(恶意样本总数:575,正确拦截:401,漏报:174)94.61%(恶意样本总数:575,正确拦截:544,漏报:31)71.65%(恶意样本总数:575,正确拦截:412,漏报:163)76.17%(恶意样本总数:575,正确拦截:438,漏报:137)
误报率(越低越好)0.07%(正常样本总数:32780,正确放行:32757,误报:23)17.58%(正常样本总数:33094,正确放行:27275,误报:5819)52.46%(正常样本总数:33094,正确放行:15732,误报:17362)0.07%(正常样本总数:33094,正确放行:33071,误报:23)0.22%(正常样本总数:33094,正确放行:33021,误报:73)
准确率(越高越好)98.40%(正确拦截 + 正确放行)/ 总样本数量82.20%(正确拦截 + 正确放行)/ 总样本数量48.34%(正确拦截 + 正确放行)/ 总样本数量99.45%(正确拦截 + 正确放行)/ 总样本数量99.38%(正确拦截 + 正确放行)/ 总样本数量
平均时间288.96 毫秒31.15 毫秒28.89 毫秒70.05 毫秒64.34 毫秒

安装使用

Docker 容器运行

# 下载镜像
docker pull chaitin/blazehttp:latest
# 开始测试 http://127.0.0.1:9444 是 WAF 的地址 (根据实际情况修改)
docker run --rm --net=host chaitin/blazehttp:latest /app/blazehttp -t <http://127.0.0.1:9444>

GitHub CI 预编译的产物已上传 Release,可以直接下载最新的版本使用。

命令行运行

blazehttp_cmd

GUI 运行(MacOS & Windows)

如果 MacOS 双击打开报错不受信任或者移到垃圾箱,执行下面命令后再启动即可:

sudo xattr -d com.apple.quarantine blazehttp_1.0.0_darwin_arm64.app

gui

本地编译

项目只依赖了 Go 语言,首先你的环境上需要有 Go,可以在这里下载

命令行版本

# 克隆代码
git clone https://github.com/chaitin/blazehttp.git && cd blazehttp
# 本地编译
bash build.sh # 执行后在 build 目录下看到 blazehttp
# 运行
./blazehttp -t https://example.org

GUI 版本

GUI 是基于 fyne实现。

# 克隆代码
git clone https://github.com/chaitin/blazehttp.git && cd blazehttp
# 本地运行
go run gui/main.go

image

如果需要本地打包,可以参考 fyne 的打包文档
如果需要跨平台打包,也可以参考 fyne-cross

# 网络安全 # web安全 # waf # 内网渗透 # waf绕过
本文为 nilpointer 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
nilpointer LV.1
这家伙太懒了,还未填写个人描述!
  • 1 文章数
  • 0 关注者
文章目录