zl程序教程

您现在的位置是:首页 >  其他

当前栏目

28、支付漏洞

漏洞 支付 28
2023-09-27 14:29:29 时间

快捷支付原理

​ 商户网站接收支付结果有两种方式

浏览器跳转

​ 基于用户访问的浏览器,如果用户在银行页面支付成功后,直接关闭了页面,并未等待银行跳转到支付结果页面,那么商户的网站就收不到支付结果的通知,导致支付结果难以处理。而且浏览器端数据容易被篡改而降低安全性

服务器端异步通知

​ 该方法是支付公司服务器后台直接向用户指定的异步通知URL发送参数,采用POST/GET的方式

​ 商户网站接收异步参数的URL对应的程序中,要对支付公司返回的支付结果进行签名验证,成功后进行支付逻辑处理。如验证金额、订单信息是否与发起支付时一致,验证正常则对订单进行状态处理或为用户进行网站内入账等

常见支付漏洞

  • 修改支付的价格(支付三部曲–订购、订单、付款)
  • 修改支付状态
  • 修改订单数量
  • 修改复数值(优惠卷)

支付漏洞挖掘

  • 找到关键的数据包
  • 分析数据包
  • 不按套路出牌
  • PC端、WAP端、APP

防御

  • 后端检查每一项的值,包括支付状态
  • 校验价格、数量参数,比如产品数量只能为正整数,并限制购买数量
  • 与第三方支付平台检查,实际支付的金额是否与订单金额一致
  • 支付参数进行MD5 加密、解密、数字签名及验证,这个可以有效的避免数据修改、重发攻击中的各种问题
  • 金额超过阈值,进行人工审核