匿名结账折扣码重复使用漏洞
原创
游山玩水
游山玩水
山水SRC
2026年11月1日 08:42
河南
去阅读
免责声明
本公众号分享的所有渗透测试技术文章仅面向合法授权的安全测试、学习交流与研究用途。读者必须确保自身行为符合《网络安全法》等相关法律法规,严禁将其用于任何未授权攻击等非法活动。因不当使用或传播相关内容所引发的任何法律责任与风险,由行为人自行承担,本公众号(或本人)概不负责
前提
技术性描述
① 系统支持匿名结账,用户无需登录即可完成购物流程;折扣码的领取、使用资格等状态仅存储于客户端会话中,例如Cookie或Session,服务端未维护已使用折扣码的持久化台账,也未记录折扣码与订单的全局绑定关系。
② 服务端在结算时仅校验当前会话是否具备折扣资格,或仅验证折扣码本身是否有效,未校验该折扣码在全局范围内是否已被使用过,也未对设备、浏览器指纹、收货地址等跨会话特征进行关联绑定。
③ 攻击者通过清除Cookie、开启无痕模式或更换会话标识符,使服务端将该请求识别为一个全新匿名会话,可再次使用同一折扣码享受优惠,从而实现折扣无限次重复利用。
通俗易懂
① 网站允许不登录直接买东西,打折资格就存在你浏览器的“临时记忆”里,服务器没有单独记账“这个折扣码谁用过”。
② 你用一次折扣后,把浏览器的临时记忆清掉,或者打开无痕模式,服务器就认不出你,觉得你是新来的顾客。
③ 于是你再次输入同一个折扣码,依然可以打折,反复清空、反复下单,折扣就能一直用。
测试流程
- 在匿名或未登录状态下,将商品加入购物车。
- 在结算页面输入目标折扣码,确认订单金额成功享受折扣。
- 清除浏览器Cookie和站点数据,或直接开启无痕模式窗口,重新访问购物网站。
- 再次将同一商品加入购物车,输入同一折扣码并执行结算。
- 观察折扣是否仍然生效;若重复多次后折扣持续可用,即确认漏洞存在。
危害
- 攻击者可无限次重复使用折扣码,以优惠价格大量下单、囤货或转售牟利,直接造成商家经济损失。
- 营销活动中折扣码的实际使用量远超设计预期,预算失控,活动效果数据失真,影响后续运营决策。
- 由于系统缺少用券台账,无法审计哪些折扣码被谁使用、使用多少次,风控与追溯机制失效。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论