WAF检测工具

WAF防护率检测工具

一、产品概述

(1)功能概述

  • WAF 防护率检测工具是一个可执行的脚本程序,支持 win10 和 linux 两个环境,可一键运行,自动输出检测结果。
    目前已支持 TP、TN、FP、FN、检出率、误报率、准确率、各攻击类型的检测率等指标。

(2)测试方法

  • 将恶意样本(HTTP 请求)批量重放至目标域名,通过响应状态码判断该请求的检测结果(拦截、放行),结合样本标
    识(正常样本/异常样本)判断每个样本对应的识别结果,并输出最终各个测试指标的统计结果。

(3)实现逻辑

  • 1.分别发起正常访问请求与攻击请求,获取不同的响应状态码(normalCode、blockCode)

    normalCode == blockCode,判断未使用 WAF,程序结束;
    normalCode != blockCode,使用 blockCode 作为拦截判定依据;

  • 2.遍历/testcases 目录下的所有样本文件,获取样本标识、攻击类型、原始 HTTP 报文;

  • 3.读取并对 HTTP 报文做如下修改后,发送至目标站点;

  • 修改 host 头部值为指定的目标域名,发送至目标站点;
    修改 Connection 头部值,固定为“Connection:close”;
    删除 Cookie、Authorization 头部;

  • 4.获取响应头信息,根据返回的响应状态码+样本标识判断 WAF 识别结果;

  • 5.输出各指标的统计输出以及输出各攻击类型的统计数据;

二.适用场景

(1)云 WAF 产品选型,可利用该工具进行选型对比分析;

(2)已使用云 WAF 产品,可利用该工具验证云 WAF 产品的防护能力。

三、核心优势

(1)海量样本

  • 网宿提供丰富的测试样本,超过3万例样本数,可覆盖多行业类型客户场景;

(2)详尽用例

  • 检测的攻击类型和样本来源范围广:囊括了常见攻击类型靶场攻击用例、常见 WAF 绕过方法测试用例、高危
    CVE 漏洞、组件漏洞及其他攻击测试用例;

(3)全面报告

  • 提供详细的安全攻击报告,并且包含各攻击类型的检测结果及分析结果,有效了解业务的安全水位。

四、使用说明

(1)运行环境

  • Linux 系统/Win10

(2)执行命令

  • ./waf_test_tool_v2 --target http://wswaf.hexx.vip --thread 50

(3)注意事项

  • 因为检测工具包含一些攻击代码,故工具包运行时需关闭防火墙或病毒软件,否则会提示文件包含病毒或潜在的垃圾软件,导致工具无法正常运行。

(4)传入参数

  • –target 待扫描的域名,示例:http(s):
    //domain.com(:80)
    –thread 并发请求数限制,默认 30。注:该参数指定 50 时,测试平均 QPS 约为 90,实际情况受机器性能
    /网络带宽等因素影响

五、指标说明

(1)测试指标

  • TP:True Positive,表示正确识别异常样本,正确拦截攻击请求;
  • TN:True Negative,表示正式识别正常样本,正确放行正常请求;
  • FP:False Positive,表示正常样本错被识别为异常,即“误报”;
  • FN:False Negative,表示异常样本错被识别为正常,即“漏报”;
  • 检出率:=TP/(TP+FN),正确拦截的攻击请求数/恶意样本总数;
  • 误报率:=FP/(TP+FP),错误拦截的正常请求数/识别为异常的样本总数;
  • 准确率:=(TP+TN)/(TP+TN+FP+FN),正确识别样本数/总样本数;
  • 异常样本中各个攻击类型的检出率:正确拦截的攻击请求数/攻击类型恶意样本总数;

(2)测试样本

  • 总样本数:3 万+
  • 正常样本:来源于浏览器访问模拟正常业务请求;
  • 异常样本:来源于常见攻击类型靶场攻击用例+常见 WAF 绕过方法测试用例+近 1 年的高危
    CVE 漏洞 POC 用例+近 3 年常见 OA 组件漏洞 POC 用例+其他攻击测试用例
  • 异常样本涉及的攻击类型包括:SQL 注入攻击、XSS 跨站攻击、Webshell 后门上传、文件包
    含攻击、XML 实体注入攻击、命令注入攻击、高危文件非法访问、dsnlog 域名检测、web 扫
    描器检测、URL 编码攻击、Base64 编码攻击、Unicode 编码攻击、超长攻击载荷绕过、常见
    OA 组件漏洞攻击、CVE 漏洞利用攻击、Shiro 反序列漏洞攻击

六、下载试用