首页/安全/渗透测试与安全评估速查/优惠券与积分逻辑检查
常见漏洞验证121 条

优惠券与积分逻辑检查

优惠券与积分的领取、核销、叠加、过期与回滚是业务逻辑问题的集中区:逐条核对规则的服务端实现。

优惠与积分的逻辑缺口

优惠券和积分是业务逻辑问题的集中区:领取、核销、叠加、过期、回滚这五个环节都容易出现规则声明与实际实现不一致。典型缺口是同一活动可重复领取、叠加规则只校验单张券、有效期边界处理不严、订单取消后券未按预期回滚。检查方法是先拿到规则文档,再用测试账号逐条验证边界。

基本信息

检查对象优惠券领取、核销、叠加、过期、退款回滚、积分增减
检查方法按规则文档逐条构造边界场景,用测试账号验证
记录方式规则声明与实际行为的差异清单
参考标准OWASP WSTG-BUSL-01、CWE-840

典型使用场景

  • 大促活动上线前的规则校验
  • 排查对账中出现的优惠金额异常
  • 核查多端(App、小程序、Web)规则实现是否一致
  • 评估退款与取消订单后的券回滚逻辑
  • 为风控与财务提供异常场景清单

检查清单

检查清单
领取:同一活动重复领取、多设备领取、并发领取(配合竞争条件验证)
叠加:券与折扣、积分、满减的叠加顺序与上限,是否互斥
边界:生效前一分钟与过期后一分钟的可用性,跨天与跨时区处理
回滚:订单取消、部分退款、全额退款后券与积分的回滚规则
一致性:不同端与不同活动类型(新人、专属、通用)的规则差异

场景与期望行为

场景期望行为常见缺口
重复领取按活动与账号唯一约束拒绝仅前端做限制
叠加使用按规则校验组合与上限只校验单张券
过期边界过期即不可用服务端未校验时间
取消订单回滚按规则回滚且不可重复回滚回滚无幂等
积分冲正与订单状态一致只加不减或重复加计
修复视角:领取与核销在服务端原子化(唯一约束或条件更新),回滚逻辑纳入状态机统一处理,避免各处各自实现一套判断。
不要在真实活动中用真实券做叠加验证:会造成实际资损。验证统一在测试活动与测试券上进行,并提前与业务方确认测试账户。

易错点

  • 用真实优惠券做叠加验证,直接造成资损与客户投诉
  • 忽略跨活动与跨端规则差异,App 与小程序行为不一致被漏掉
  • 只验证能否叠加,不验证叠加后的金额是否与服务端规则一致
  • 忽略部分退款场景:整单退款有回滚逻辑,部分退款则没有
  • 回滚逻辑不幂等,重复取消或重复退款导致券被多次返还

数据来源与参考

  • OWASP WSTG WSTG-BUSL-01
  • CWE-840
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌