推荐一款牛X的WAF防护效果测试工具
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.0Safari/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.0Safari/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
安装使用
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,可以直接下载最新的版本使用。
GUI 运行 (MacOS & Windows)
如果 MacOS 双击打开报错不受信任或者移到垃圾箱,执行下面命令后再启动即可:
sudo xattr -d com.apple.quarantine blazehttp_1.0.0_darwin_arm64.app
本地编译
项目只依赖了 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
如果需要本地打包,可以参考 fyne 的打包文档 如果需要跨平台打包,也可以参考 fyne-cross
贡献代码
期待大佬们的贡献,添加新样本,新功能,修复 Bug,优化性能等等等等都非常欢迎👏
Star
用起来还不错的话,帮忙点个 Star ✨
项目地址
https://github.com/chaitin/blazehttp
文章来源:Hack之道
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END

华盟君