支付漏洞四舍五入

admin 2025年2月14日23:31:40评论19 views字数 690阅读2分18秒阅读模式
在企业安全测试中,支付业务是重点审计对象之一,往往潜藏着各类安全漏洞。本文将以余额充值场景为例,深入剖析一个典型的支付逻辑漏洞。
在支付系统中,金额通常精确到分(即0.00格式),部分区块链平台可能支持更高精度。
支付漏洞四舍五入
当我们尝试充值0.001元时,系统通常会通过前端校验或四舍五入机制进行处理。
支付漏洞四舍五入
以支付宝为例,由于其支付接口仅支持到分位,会直接拒绝此类异常金额请求。
支付漏洞四舍五入
接下来,我们测试充值0.019元的场景。
支付漏洞四舍五入
系统界面显示为0.01元,末位的9被自动截断,这符合第三方支付的精度限制。
支付漏洞四舍五入
然而,实际支付时却扣除了0.02元,这一异常现象暴露了系统的逻辑缺陷。攻击者可以利用四舍五入规则,通过精心构造的充值金额实现"半价充值"等欺诈行为。
支付漏洞四舍五入
这类漏洞在企业SRC中较为常见,其本质是利用了系统在处理金额精度时的逻辑缺陷。开发者在实现支付功能时,必须确保前后端的金额校验逻辑严格一致,并在服务端进行最终的有效性验证,以防止此类安全风险的发生。
实战

某app可以购买 J 金的项目,然后就随手下载了app,打开一个,发现钱包余额是 0.00 的字眼,我随手充值了 1.01 ,1.005,1.05 但是最后充值都是很正确的

支付漏洞四舍五入
然后我也放弃了这个漏洞的想法,我晚上睡觉的到时候,我又把这个 app 拿出来看(因为我买了某金嘛,我就想看看我赚没) 晚上拿出来看的时候我就发现了提现这个功能点:
支付漏洞四舍五入
首先尝试提现1元,并通过抓包将金额修改为1.005元。
支付漏洞四舍五入
当看到提现成功的提示显示为1元时,我一度以为测试失败了。随后发现余额变成了2.04元,心里更是凉了半截。
支付漏洞四舍五入
没过多久,我的微信突然收到了收款通知
支付漏洞四舍五入

原文始发于微信公众号(信安一把索):支付漏洞四舍五入

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月14日23:31:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   支付漏洞四舍五入https://cn-sec.com/archives/3742464.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息