首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >走进“乌云”教科书书里的漏洞(2)【负数支付漏洞】

走进“乌云”教科书书里的漏洞(2)【负数支付漏洞】

原创
作者头像
用户11796932
修改2025-08-18 15:29:33
修改2025-08-18 15:29:33
790
举报

0x01 漏洞解析

在常规的支付流程中,系统会对支付金额进行严格校验,以确保交易的合理性与安全性。然而,当支付系统在设计或编码过程中存在缺陷时,就可能出现允许用户将总价修改为负数并成功支付的情况。例如,某些系统在处理支付请求时,未对前端传递过来的价格参数进行有效验证,或者在计算总价时,没有考虑到数量或价格为负数的异常情况。黑客一旦发现这类漏洞,便可以通过篡改支付请求中的数据,将商品总价改为负数。这样一来,不仅能免费获取商品,甚至可能让商家倒贴钱,给商家带来巨大的经济损失。

下图为乌云找到的漏洞。

0x02 漏洞复现

本次使用靶场连接:http://www.loveli.com.cn:12531/

点击购买物品,然后确认购买

提示余额不足

获取数据包

修改为负数,发现钱包金额反向增长

修改为负数-999,出现flag

0x03 漏洞修复方法

前端与后端双重校验:前端需对用户输入的价格、数量等参数进行初步校验,限制参数的合理范围(如价格不能为负数、数量不能小于 1),但不能仅依赖前端校验。关键在于后端,在接收支付请求后,必须重新计算商品总价,将后端数据库中存储的商品单价与用户选择的数量进行相乘,得到准确的总价,再与前端传递的总价参数进行比对,若不一致则直接拒绝支付请求。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01 漏洞解析
  • 0x02 漏洞复现
  • 0x03 漏洞修复方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档