Web安全之支付漏洞

一、快捷支付原理

商户网站接入支付结果有两种方式,一种是通过浏览器进行跳转,一种是服务器端一步通知

基于用户访问的浏览器,如果用户在银行页面支付成功后,直接关闭了

页面,并未等待银行跳转到支付结果页面,那么商户网站就收不到支付

结果的通知,导致支付结果难以处理。而且浏览器端数据很容易被篡改

而降低安全性

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

采用POST或GET的方式。商户网站接收异部参数的URL对应的程序中,

要对支付公司返回的支付结果进行签名验证,成功后进行支付逻辑处理

如验证金额、订单信息是否与发起支付时一致,验证正常则对订单进

行状态处理或为用户进行网站内入账等

关于支付系统向商户通知支付解雇为什么使用异步

PMCAFF产品经理社区 - 产品经理人气组织,产品爱好者学习交流社区,专注互联网产品研究

相对于其他支付漏洞来说,支付漏洞应该是喜闻乐见的但是渗透测试要有分寸

二、常见支付漏洞

修改支付的价格

支付三部曲--订购、顶顶那、付款

    三个步骤当中随便一个步骤进行修改、价格测试,如果前面两部有验证机制,那么你可以在最后一步付款时进行抓包尝试修改金额,如果没有在最后一步做好检验,那么问题就会存在,其修改的金额值你可以长湿小数目或者负数

修改支付状态--未完成

    A订蛋完成——B订单未完成

    付款是尝试把B订单的单号给订单A

修改订单数量

修改附属值

    优惠券

优惠券其基本都是优惠,一般用优惠券进行消费一般出现在第二个步骤

当中:确认购买信息,在这个步骤页面当中,你可以选择相关优惠券,

然后直接修改金额大于或等于商品的价格就可以,或者直接修改其为负

值进行尝试,最后进行支付,如果对这点没有加以验证,那么问题就会

产生,直接支付成功

越权支付

    存在user=id 这种传参尝试修改id,用别人id钱包支付

无限制使用

    试用品的参数为2,正常购买参数为1,

    购买试用品参数2

三、支付漏洞如何挖掘

如何挖掘

找到关键的数据包

可能一个支付操作有三四个数据包,我们要对数据包进行挑选。

分析数据包

支付数据包中会包含很多的敏感信息(账号,金额,余额,优惠),要

尝试对数据包中的各个参数进行分析。

不按套路出牌

多去想想开发者没有想到的地方

pc端尝试过,wap端也看看,app也试试。

 

四、防御方法

后端检查每一项值,包括支付状态。

校验价格、数量参数,比如产品数量只能为正整数,并限制购买数量

与第三方支付平台检查,实际支付的金额是否与订单金额一致。

支付参数进行MD5加密、解密、数字签名及验证,这个可以有效的避

免数据修改,重放攻击中的各种问题金额超过阈值,进行人工审核

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值