AI 助教问 AI 助教
东方瑞通 · CISP-PTE

支付逻辑漏洞

支付逻辑漏洞指支付流程中金额、数量、订单状态等参数可被篡改,导致低价购买或绕过支付。

考点精讲

  1. 常见手法:抓包修改价格参数(改 price 为 0.01)、修改数量为负数、修改支付状态参数、重放订单、篡改优惠券/积分等。本质是服务端未校验价格与订单状态。防护:价格由服务端计算,订单状态由服务端维护,客户端参数不可信。

记忆技巧

三改:改价格、改数量、改状态
价格必须服务端算,客户端参数不可信

常见误区

  • 以为前端隐藏价格参数就安全——抓包即可改
  • 忽略数量改为负数的绕过方式
  • 以为必须真实交易才安全——参数篡改是核心

真题思路

  • 【示例】 下列支付逻辑漏洞利用手法中,属于「篡改参数」的是()
    抓包把价格参数 price 修改为 0.01 后提交 对目标站点进行 SQL 注入 上传一句话木马 用 sqlmap 枚举数据库
    答案:A
    解析:支付逻辑漏洞的核心是篡改价格、数量、状态等参数,A 属于篡改价格参数;B、D 是 SQL 注入,C 是文件上传,均非支付逻辑漏洞。

常见问题

Q:支付漏洞常见手法有哪些?

A:抓包修改价格参数(如改 price 为 0.01)、修改数量为负数、修改支付状态参数、重放订单、篡改优惠券/积分等。

Q:为什么价格必须由服务端计算?

A:客户端传来的价格、数量等参数均可被篡改,只有服务端重新计算并校验价格,才能保证交易金额不被攻击者控制。

Q:如何防护支付逻辑漏洞?

A:价格由服务端计算、订单状态由服务端维护、客户端参数不可信,交易关键数据以服务端为准。

Q:重放订单是什么?

A:攻击者重复提交已经完成的订单请求,利用服务端未做幂等/去重校验,从而重复享受优惠或重复触发支付流程。

相关知识

教材出处:第4章 Web 漏洞 支付逻辑漏洞

AI 助教

让 AI 助教带你深入学习,把你卡住的地方直接问它

随时为您答疑解惑

开始答疑