WSTG 实战|业务逻辑测试(4.10 / BUSL)
功能”按设计工作”不代表”安全”。WSTG 4.10 v5.0 包含 10 个子项(含 00 引言),测业务流本身可被滥用之处。
① 是什么
业务逻辑测试 关注流程与规则的缺陷:能否伪造请求、绕过校验、破坏状态机、突破次数/流程限制、传恶意文件。它不靠语法漏洞,而靠”理解业务”。
WSTG 类别码:BUSL
② 为什么重要
- 逻辑漏洞常危害极高(任意金额下单、重复发券、上传木马),却最难被扫描器发现。
- 它们是手测(改数据、跳流程、抢时序)的强项,也是赏金高产区。
③ 核心概念拆解(对应 4.10.x / WSTG-BUSL-00 到 -10)
| ID | 测试项 | 关键点 |
|---|---|---|
| 4.10.0 / WSTG-BUSL-00 | 业务逻辑测试简介 | 理解业务流程、识别信任边界、定义滥用场景、区别于技术漏洞 |
| 4.10.1 / WSTG-BUSL-01 | 测试业务逻辑数据验证 | 负金额、超大数量、精度溢出、枚举值篡改、跨字段关联校验(如开始<结束) |
| 4.10.2 / WSTG-BUSL-02 | 测试伪造请求能力 | 重放、重排序、参数篡改、隐藏字段、客户端状态篡改、API 版本降级 |
| 4.10.3 / WSTG-BUSL-03 | 测试完整性检查 | 签名/哈希/加密载荷验证、防篡改机制、密钥轮换、重放保护(nonce/timestamp) |
| 4.10.4 / WSTG-BUSL-04 | 测试流程时序 | 竞态条件(TOCTOU)、并发兑换/下单、时间窗口滥用、时钟漂移、分布式锁缺失 |
| 4.10.5 / WSTG-BUSL-05 | 测试功能使用次数限制 | 优惠券/邀请码/试用/API 配额、计数器绕过、分布式计数一致性 |
| 4.10.6 / WSTG-BUSL-06 | 测试工作流绕过 | 跳过步骤、直接访问后置页面、状态机破坏、未完成前置条件即进入后续流程 |
| 4.10.7 / WSTG-BUSL-07 | 测试应用误用防御 | 速率限制、验证码、设备指纹、行为分析、账号关联、蜜罐字段、欺骗检测 |
| 4.10.8 / WSTG-BUSL-08 | 测试非预期文件类型上传 | 扩展名/Content-Type/魔数不一致、双扩展名、解析器差异、Polyglot 文件、大小绕过 |
| 4.10.9 / WSTG-BUSL-09 | 测试恶意文件上传 | WebShell、脚本、宏、EXE/APK、插件、模板、SVG XSS、压缩包炸弹、XML/XXE、反序列化 |
| 4.10.10 / WSTG-BUSL-10 | 测试支付功能 | 金额篡改、货币切换、优惠叠加、重复扣款/退款、回调伪造、幂等性、对账差异 |
④ 常见误区
- 误区 1:前端校验=安全。务必在 Burp 里改包验证后端。
- 误区 2:按正常顺序走完即放心。要故意跳步、重放、并发。
- 误区 3:扫描器没报就安全。逻辑漏洞几乎只能人工发现。
⑤ 一句话小结
逻辑测试逼出”设计可被滥用”:改数据、伪造请求、破坏状态机、抢时序、传恶意文件、支付绕过——靠理解业务而非语法。
下一篇:客户端测试(4.11 / CLNT)
参考来源:OWASP Web Security Testing Guide(最新 v5.0 / 2026 开发线)(本文为原创讲解,非转载原文)