流量套件
每个流量套件均为 /opt/traffic-generator/suites/ 下的一个目录,其中包含按编号排列的 Shell 脚本,由 runner.sh 按顺序执行。每个脚本将目标 FQDN 作为第一个参数,并将输出写入标准输出和结果目录。
api-attacks
Section titled “api-attacks”脚本数量: 4 | 预计持续时间: 10-17 分钟
通过 F5 XC 对 VAmPI 进行 OWASP API 安全 Top 10 测试。注册测试用户并获取身份验证令牌,然后测试 BOLA、暴力破解身份验证、过度数据暴露、功能级授权失效、SSRF 模式、针对 REST API 端点的 SQL 注入、隐藏参数发现及端点模糊测试。目标应用程序为 VAmPI。
F5 XC 功能: API 安全 / API 发现
| 顺序 | 脚本 | 工具 | 描述 |
|---|---|---|---|
| 01 | 01-vampi-owasp-top10.sh | curl, jq | 全面的 OWASP API Top 10 测试套件。注册测试用户并获取身份验证令牌,然后测试 BOLA(访问其他用户数据)、暴力破解身份验证、过度数据暴露、功能级授权失效、SSRF 模式及安全配置错误探测。 |
| 02 | 02-sqlmap-api.sh | sqlmap | 针对 VAmPI REST API 端点的 SQL 注入测试:用户查找、登录(POST)及带 JSON 载荷的注册(POST)。 |
| 03 | 03-arjun-param-discovery.sh | arjun | 针对 Juice Shop、DVWA 和 VAmPI 端点的隐藏参数发现。发现可能接受注入载荷的未记录查询参数。 |
| 04 | 04-ffuf-api-fuzz.sh | ffuf | 两阶段模糊测试:使用常见 API 路径词表(api、swagger、graphql、admin、.env、.git)在所有应用程序前缀中进行端点发现,然后针对关键端点进行 HTTP 方法模糊测试(GET、POST、PUT、DELETE、PATCH、OPTIONS、TRACE、PROPFIND)。 |
F5 XC 预期行为: API 发现应映射 VAmPI API 端点并识别异常请求模式。API 安全策略应标记未授权访问尝试、JSON 正文中的注入载荷及枚举模式。F5 XC 中的 API 清单将显示已发现的端点及其请求计数。
bot-simulation
Section titled “bot-simulation”脚本数量: 4 | 预计持续时间: 5-10 分钟
通过 F5 XC 进行自动化浏览器活动和类机器人爬取模式测试。包括无头 Chrome、带隐身插件的 Puppeteer、快速爬取及自动化表单交互。目标为所有应用程序。
F5 XC 功能: 机器人防御
| 顺序 | 脚本 | 工具 | 描述 |
|---|---|---|---|
| 01 | 01-headless-chrome.sh | playwright | 无头 Chromium 浏览:加载目标页面,在应用程序路径间导航,提取页面标题和内容,截取屏幕截图。生成基于浏览器的流量,不使用隐身插件(可被检测为自动化)。 |
| 02 | 02-puppeteer-stealth.sh | puppeteer, puppeteer-extra-plugin-stealth | 使用带隐身插件的 puppeteer-extra 进行隐身浏览。通过修补 navigator 属性、WebGL 及其他浏览器指纹来尝试规避机器人检测。 |
| 03 | 03-rapid-crawl.sh | curl, wget | 使用 curl 和 wget 快速连续发出高频 HTTP 请求。模拟爬虫行为,请求之间无延迟并激进地轮换 User-Agent。 |
| 04 | 04-form-interaction.sh | playwright | 使用 Playwright 的表单交互 API 对 DVWA 登录、Juice Shop 注册及 VAmPI API 端点进行自动化表单填写和提交。 |
F5 XC 预期行为: 机器人防御应根据浏览器指纹分析、请求时序及 JavaScript 质询结果将流量分类为自动化流量。无隐身功能的无头 Chrome 应立即被检测到。隐身 Puppeteer 测试高级规避技术是否能绕过检测。机器人防御仪表板将显示机器人分类类别及缓解措施。
cdn-load-testing
Section titled “cdn-load-testing”脚本数量: 18 | 预计持续时间: 20-30 分钟
CDN 缓存行为和源站保护测试。包括基线吞吐量、查询字符串隔离、Accept-Encoding 变体、雷鸣群效应模拟、POST/PUT 绕过、缓存键冲突、条件 GET、范围请求、清除模拟、连接池耗尽、长连接优化、TLS 握手开销、大对象缓存、多源故障转移、速率限制、Gzip 压缩率测试、HTTP/2 多路复用及综合 Kraken 基准测试。目标为 CDN 模拟器应用程序。
F5 XC 功能: CDN 集成
crapi-exploits
Section titled “crapi-exploits”脚本数量: 16 | 预计持续时间: 15-25 分钟
OWASP crAPI(完全荒谬的 API)挑战利用测试。包括注册/认证、BOLA 车辆位置、BOLA 维修报告、OTP 暴力破解、数据暴露机制、过度数据暴露、批量赋值订单、SSRF 优惠券验证、NoSQL 注入、JWT 操纵、IDOR 仪表板、2FA 绕过、内部 API 访问、服务器端参数污染、用户删除及视频上传 IDOR。目标为 crAPI 应用程序。
F5 XC 功能: API 安全
csd-demo-attacks
Section titled “csd-demo-attacks”脚本数量: 5(JavaScript)| 预计持续时间: 3-5 分钟
客户端 JavaScript 注入攻击。包括银行卡信息窃取注入、表单劫持、键盘记录器、加密货币挖矿程序及 DOM 劫持脚本。测试 F5 XC 客户端防御所检测和阻止的 Magecart 风格客户端供应链攻击。目标为 CSD 演示应用程序。
F5 XC 功能: 客户端防御
demoapp-attacks
Section titled “demoapp-attacks”脚本数量: 2 | 预计持续时间: 2-3 分钟
针对 F5 DemoApp 内置 WAF 测试端点(/WAF/SQL、/WAF/XSS、/WAF/DIR)的定向攻击载荷测试。直接向设计用于演示 WAF 阻断行为的端点发送 SQL 注入、XSS 及路径遍历载荷。当目标为 DemoApp 内容服务器而非标准源站应用程序时,请使用此套件。
F5 XC 功能: WAF(Web 应用程序防火墙)
| 顺序 | 脚本 | 工具 | 描述 |
|---|---|---|---|
| 01 | 01-sqli-waf-endpoint.sh | curl, python3 | 针对 /WAF/SQL?age= 的 15 个 SQL 注入载荷,包括 UNION SELECT、DROP TABLE、WAITFOR DELAY、xp_cmdshell、基于注释的绕过及布尔逻辑载荷。 |
| 02 | 02-xss-waf-endpoint.sh | curl, python3 | 针对 /WAF/XSS?update= 的 18 个 XSS 载荷,包括 script 标签、事件处理程序(onerror、onload、ontoggle、onfocus)、Base64 eval、style expression、多态载荷及 Cookie 外泄。 |
F5 XC 预期行为: WAF 应阻止包含 SQL 注入和 XSS 载荷的请求并返回阻断页面。安全事件仪表板将显示每个被阻断请求的违规类别和签名匹配情况。
dvga-exploits
Section titled “dvga-exploits”脚本数量: 9 | 预计持续时间: 8-12 分钟
针对 Damn Vulnerable GraphQL Application 的 GraphQL 特定漏洞利用测试。包括批量查询 DoS、深度递归、字段重复、通过过滤器进行 SQL 注入、通过 createPaste 进行 XSS、基于别名的 DoS、内省滥用、授权绕过及信息泄露。目标为 DVGA 应用程序。
F5 XC 功能: API 安全(GraphQL)
dvwa-exploits
Section titled “dvwa-exploits”脚本数量: 14 | 预计持续时间: 15-25 分钟
针对 Damn Vulnerable Web Application 的 OWASP Top 10 测试。包括暴力破解、命令注入、CSRF 密码更改、文件包含、文件上传、SQL 注入(盲注)、SQL 注入(联合查询)、XSS(DOM)、XSS(反射型)、XSS(存储型)、CAPTCHA 绕过、弱会话 ID、不安全 CORS 及开放重定向。目标为 DVWA 应用程序。
F5 XC 功能: WAF
javascript-exploits
Section titled “javascript-exploits”脚本数量: 3 | 预计持续时间: 3-5 分钟
触发客户端防御检测的客户端脚本注入和 DOM 操纵模式测试。包括模拟 Magecart 风格信息窃取器的内联脚本注入、通过无头 Chromium 进行 DOM 操纵及第三方脚本模拟。目标为 CSD 演示应用程序。
F5 XC 功能: 客户端防御(CSD)
| 顺序 | 脚本 | 工具 | 描述 |
|---|---|---|---|
| 01 | 01-inline-script-injection.sh | curl | 发送包含内联 JavaScript 载荷的请求,旨在模拟 Magecart 风格的信用卡信息窃取器和数据外泄脚本。 |
| 02 | 02-dom-manipulation.sh | playwright | 使用无头 Chromium 加载 CSD 演示页面并注入 DOM 修改:添加 script 标签、修改表单 action 属性,以及插入用于外泄表单数据的不可见 iframe。 |
| 03 | 03-third-party-script-sim.sh | curl, playwright | 通过注入引用外部 JavaScript 来源的请求并尝试将未授权脚本加载到页面上下文中,模拟受攻击的第三方脚本。 |
F5 XC 预期行为: 客户端防御应检测对受保护页面的未授权脚本修改。CSD 仪表板将显示新脚本来源、修改后的 DOM 元素及数据外泄尝试的告警。这将验证 CSD 第二阶段的功能。
juice-shop-exploits
Section titled “juice-shop-exploits”脚本数量: 12 | 预计持续时间: 10-18 分钟
OWASP Juice Shop 挑战利用测试。包括 SQL 注入登录绕过、SQL 注入搜索联合查询、XSS DOM 反射型、XSS 存储型 API、IDOR 购物篮访问、管理员区域访问、伪造反馈、空字节文件访问、搜索中的反射型 XSS、HTTP 头注入、重复注册及登录暴力破解。目标为 Juice Shop 应用程序。
F5 XC 功能: WAF、机器人防御
mitre-attack
Section titled “mitre-attack”脚本数量: 8 | 预计持续时间: 10-15 分钟
MITRE ATT&CK 框架战术模拟。包括侦察(外部扫描)、初始访问(凭据填充)、执行(命令注入)、凭据访问(默认密码)、发现(目录枚举)、横向移动模拟、收集(数据抓取)及外泄模拟。每个脚本映射到特定的 MITRE ATT&CK 战术,用于结构化威胁覆盖率报告。目标为所有应用程序。
F5 XC 功能: WAF、机器人防御、API 安全
owasp-scanning
Section titled “owasp-scanning”脚本数量: 10 | 预计持续时间: 20-35 分钟
使用专用漏洞扫描器的全面 OWASP 扫描套件。包括 ZAP 基线扫描、ZAP 主动扫描、Nikto 全面扫描、Nuclei 全面扫描、Nmap 漏洞扫描、SSL/TLS 审计、目录模糊测试、子域枚举、技术指纹识别及综合 OWASP 报告生成。目标为所有应用程序。
F5 XC 功能: WAF、Web 应用程序扫描
performance-testing
Section titled “performance-testing”脚本数量: 12 | 预计持续时间: 15-30 分钟
在各种负载模式下进行性能特征测试。包括并发量递增、单应用吞吐量、持续负载、连接抖动、混合攻击+负载、峰值测试、耐久性测试、临界点发现、响应时间百分位数、负载下错误率、资源耗尽及延迟分布分析。目标为所有应用程序。
F5 XC 功能: DDoS、速率限制
reconnaissance
Section titled “reconnaissance”脚本数量: 6 | 预计持续时间: 8-15 分钟
针对目标基础设施的网络扫描、服务枚举及目录暴力破解测试。包括 Nmap 服务检测、Masscan 端口扫描、目录暴力破解、子域枚举、Web 技术指纹识别及 DNS 侦察。目标为所有应用程序。
F5 XC 功能: WAF / 机器人防御
| 顺序 | 脚本 | 工具 | 描述 |
|---|---|---|---|
| 01 | 01-nmap-scan.sh | nmap | 针对目标 HTTP/HTTPS 端口的服务版本检测和默认脚本扫描。 |
| 02 | 02-masscan-sweep.sh | masscan | 对常见 Web 端口(80、443、8080、8443)进行带速率限制的高速端口扫描。 |
| 03 | 03-gobuster-dirs.sh | gobuster | 使用 SecLists 常用词表针对所有应用程序前缀进行目录暴力破解。 |
| 04 | 04-subfinder-enum.sh | subfinder, httpx | 对目标域名进行被动子域枚举,然后对已发现的主机进行 HTTP 探测。 |
| 05 | 05-whatweb-fingerprint.sh | whatweb | 对目标及所有应用程序路径进行 Web 技术指纹识别。 |
| 06 | 06-dns-recon.sh | dnsrecon, fierce, dig | 对目标域名进行 DNS 记录枚举、区域传输尝试及反向查找。 |
F5 XC 预期行为: WAF 应检测并记录扫描活动。机器人防御可能将快速连续请求分类为自动化流量。安全事件仪表板将显示侦察签名和扫描工具的 User-Agent 字符串。
restaurant-exploits
Section titled “restaurant-exploits”脚本数量: 11 | 预计持续时间: 10-18 分钟
针对餐厅 API 应用程序的 OWASP API 安全 Top 10 2023 测试。包括注册/认证、BOLA 用户资料、BOLA 订单、BOPLA 批量赋值、BFLA 权限提升、速率限制绕过、SQL 注入菜单、命令注入磁盘统计、SSRF 图片 URL、JWT 弱密钥及敏感数据暴露。目标为餐厅 API 应用程序。
F5 XC 功能: API 安全
ssl-scanning
Section titled “ssl-scanning”脚本数量: 3 | 预计持续时间: 3-5 分钟
对 F5 XC 负载均衡器 HTTPS 端点的 TLS/SSL 配置分析。枚举密码套件、协议版本、证书详细信息,并检查已知 TLS 漏洞。目标为 F5 XC 负载均衡器端点。
F5 XC 功能: WAF(信息性)
| 顺序 | 脚本 | 工具 | 描述 |
|---|---|---|---|
| 01 | 01-sslscan.sh | sslscan | 枚举支持的密码套件、协议版本及证书详细信息。 |
| 02 | 02-sslyze.sh | sslyze | 全面的 TLS 分析,包括证书验证、密码套件排序及漏洞检查(Heartbleed、ROBOT 等)。 |
| 03 | 03-testssl.sh | testssl.sh | 使用 testssl.sh 框架进行完整 TLS 评估。测试协议支持、密码偏好、头部分析及已知漏洞。 |
F5 XC 预期行为: SSL 扫描会产生大量具有异常密码套件提案的 TLS 握手。虽然 F5 XC 通常不会阻止这些流量,但流量模式在访问日志中可见。其主要价值在于验证 F5 XC TLS 配置是否符合安全最佳实践。
traffic-generation
Section titled “traffic-generation”脚本数量: 4 | 预计持续时间: 5-10 分钟(可配置)
用于基线测量和负载测试的高流量合法 HTTP 流量生成。在 F5 XC 分析中建立正常流量模式,以便与攻击套件流量进行比较。目标为所有应用程序。
F5 XC 功能: 所有功能(基线比较)
| 顺序 | 脚本 | 工具 | 描述 |
|---|---|---|---|
| 01 | 01-baseline-http.sh | curl | 使用标准浏览器 User-Agent 向所有应用程序路径发送顺序 HTTP GET 请求。在 F5 XC 分析中建立正常流量基线。 |
| 02 | 02-concurrent-load.sh | curl | 使用 curl 的多个并发连接发送并行 HTTP 请求。测试负载处理能力并建立吞吐量基线。 |
| 03 | 03-mixed-methods.sh | curl | 针对 API 端点发送带有有效载荷的混合 HTTP 方法请求(GET、POST、PUT、DELETE)。生成正常 API 流量模式,以便与攻击流量进行比较。 |
| 04 | 04-user-journey.sh | playwright | 使用具有标准浏览器设置的 Playwright 模拟真实用户旅程:浏览页面、搜索商品、填写表单及在应用程序之间导航。 |
F5 XC 预期行为: 此套件中的所有请求都应无需经过 WAF 或机器人防御干预而直接通过。使用此套件在分析仪表板中生成”干净”流量,然后与攻击套件流量进行比较,以展示合法请求和恶意请求模式之间的差异。
waf-encoding-evasion
Section titled “waf-encoding-evasion”脚本数量: 7 | 预计持续时间: 5-10 分钟
多层编码绕过攻击,旨在测试 WAF 是否在检测前对载荷进行正确的规范化和解码处理。涵盖单层、双层和三层 URL 编码;HTML 实体编码(十进制、十六进制、命名实体、零填充);Unicode/UTF-8 插入(零宽空格、BOM、全角字符、软连字符、超长序列);混合/嵌套多层编码(URL 编码的 HTML 实体、实体内的双重 URL 编码、三层堆叠);空字节注入;IIS %uXXXX 编码;大小写操纵;分块传输编码正文拆分;Base64 参数绕过;以及头部/Cookie 编码载荷。目标为任意应用程序。
F5 XC 功能: WAF(编码规范化深度)
| 顺序 | 脚本 | 工具 | 描述 |
|---|---|---|---|
| 01 | 01-url-encoding.sh | curl | 针对多个端点路径的 SQLi、XSS 及路径遍历载荷进行单层、双层和三层 URL 编码测试。验证 WAF 是否递归解码 URL 参数。 |
| 02 | 02-html-entity-encoding.sh | curl, python3 | 在 GET 参数和 POST 正文中对攻击载荷进行十进制、十六进制、命名实体及零填充 HTML 实体编码测试。包括通过 {{7*7}} 进行模板注入。 |
| 03 | 03-unicode-utf8-evasion.sh | curl | 在 SQL 关键字和 XSS 标签中插入零宽空格(U+200B)、BOM(U+FEFF)、全角字符、软连字符及 ZWNJ。测试超长 UTF-8 序列(2 字节和 3 字节)。 |
| 04 | 04-mixed-nested-encoding.sh | curl | 多层载荷测试:URL 编码的 HTML 实体、实体内的双重 URL 编码、三层堆叠、带 Unicode 转义的 JSON 正文(<),以及用户特定的 {{7*7}} 模板注入模式。 |
| 05 | 05-null-byte-iis-base64.sh | curl | 用于扩展名绕过的空字节注入(%00)、IIS %uXXXX Unicode 编码,以及 URL 参数中带解码标志的 Base64 编码载荷。 |
| 06 | 06-case-chunked-evasion.sh | curl | 大小写随机化结合编码(%3CsCrIpT%3E)、通过分块传输编码将 SQL/XSS 关键字拆分到 HTTP 分块中、Content-Length/Transfer-Encoding 冲突探测,以及备用路径分隔符(%5c、%c0%af)。 |
| 07 | 07-header-cookie-evasion.sh | curl | 通过 Cookie、Referer、User-Agent、X-Forwarded-For 及 X-Original-URL 头部注入编码后的攻击载荷。测试 WAF 是否检测和解码所有 HTTP 头部字段,而不仅仅是查询参数和 POST 正文。 |
F5 XC 预期行为: 正确配置的 WAF 应在模式匹配前对所有编码层进行规范化处理。单层编码载荷应被立即阻止。双层和三层编码测试揭示 WAF 解码管道的深度。Unicode 插入测试揭示不可见字符是否在关键字匹配前被过滤。若编码变体通过而纯文本等效项被阻止,则表明 WAF 策略中存在规范化缺口。
web-app-attacks
Section titled “web-app-attacks”脚本数量: 6 | 预计持续时间: 12-20 分钟
通过 F5 XC 针对 Juice Shop 和 DVWA 进行 OWASP Top 10 Web 应用程序漏洞测试。包括 SQL 注入、XSS、命令注入、路径遍历、Nikto 扫描及基于 Nuclei 模板的扫描。目标为 Juice Shop 和 DVWA 应用程序。
F5 XC 功能: WAF(Web 应用程序防火墙)
| 顺序 | 脚本 | 工具 | 描述 |
|---|---|---|---|
| 01 | 01-sqli.sh | sqlmap, curl | 针对 Juice Shop 搜索 API 和 DVWA SQLi 端点的 SQL 注入载荷测试。运行 sqlmap 自动扫描,然后发送 10 个基于 curl 的直接注入载荷。 |
| 02 | 02-xss.sh | dalfox, curl | 针对 Juice Shop 和 DVWA XSS 反射型/存储型端点的跨站脚本测试。运行 dalfox 自动扫描,然后发送 12 个直接 XSS 载荷,包括 script 标签、事件处理程序及 Cookie 外泄。 |
| 03 | 03-command-injection.sh | curl | 针对 DVWA exec 端点的 OS 命令注入载荷测试。发送 12 个载荷,包括管道链、分号、URL 编码换行符及反向 Shell 模式。 |
| 04 | 04-path-traversal.sh | curl | 针对多个应用程序端点的目录遍历测试。在 6 个端点路径上测试标准 ../ 遍历、URL 编码变体、双重编码变体、空字节变体及 Unicode 变体。 |
| 05 | 05-nikto-scan.sh | nikto | 带有 120 秒时间限制的全面 Web 服务器漏洞扫描。生成触发 WAF 签名匹配的多样化 HTTP 请求。 |
| 06 | 06-nuclei-scan.sh | nuclei | 中等、高危及严重级别的基于模板的漏洞扫描。速率限制为每秒 50 个请求。 |
F5 XC 预期行为: WAF 应阻止或标记包含 SQL 注入、XSS、命令注入及路径遍历载荷的请求。安全事件仪表板将显示每个被阻断请求的违规类别、签名 ID 及请求详细信息。