直接回答:业务逻辑漏洞不违反任何语法或协议规则,而是攻击者用"合法请求"的组合滥用业务流程获利:篡改价格、超领优惠券、短信轰炸、负数退款、跳过支付直接下单。WAF 和漏洞扫描器对它基本无效——每个请求单独看都正常,防御必须下沉到业务层的状态校验与风控。
展开解析:典型类别有四。一是金额数量类:价格、积分由客户端提交且服务端不重新计算,改包即可一分钱下单;原则是所有金额以服务端数据为准,客户端只传商品 ID 和数量。二是流程状态类:订单状态机允许跳步或逆向流转(未支付直接发货),要用严格的状态机约束。三是频率资源类:短信、邮件接口无频控被打成肉鸡,一条验证码几分钱,一晚上能刷掉数万元;需按手机号、IP、设备三维限流并叠加行为验证码。四是并发类:余额校验与扣减非原子,并发请求导致超提,要用数据库事务、乐观锁或原子扣减解决。系统性防御靠三点:设计阶段做威胁建模、梳理资产与信任边界;关键接口服务端重算与校验;异常行为的实时风控与对账告警兜底。
追问方向:如何设计防超卖的库存扣减方案?风控中规则引擎与模型如何分工?对账系统应该核对哪些维度?
(约 430 字)