支付逻辑漏洞
支付逻辑漏洞
1.0支付过程基础知识
常见支付流程:选择商品和数量,选择支付及配送方式,生成订单编号,订单支付选择,完成支付。
修改思路:在这个流程中,我们可以更改数据的地方有很多,我们可以尝试去更改商品编号id,购买价格,购买水
量,订单号,支付状态等如果某个流程的判定不严格,就会产生支付漏洞我们可以尝试去更改商品编号id,购买价
格,购买水量,订单号,支付状态等比如我们以小金额支付成功后更改成功订单号,使得大金额订单支付成功。常
见的修改方式
常见的修改手段:
1 替换支付 用小额金额商品购买信息替换大额金额商品
2 重复支付 购买成功后将成功数据包多次发送,可能会造成多次购买
3 最小额支付 更改价格或者更改数量,以最低的价格去支付
4 负数支付 购买时输入负数值,如果后台处理不当就会造成购买加钱的情况。
5 溢出支付 通过输入极大值来使得整形溢出,产生的一些问题
6 优惠券支付 利用优惠券
1.1 利用接口
在网页中进行支付时根据我们选择的不同支付模式会调用不同的接口,比如我们选择支付宝
支付,就会调用对应的支付宝接口,如果接口的信息直接放在数据包中发送,可以被我们
控制,我们就可以通过改变接口信息比如改到我们自己的接口进行支付。
1.2 优惠券漏洞
我们通过比较使用和不使用优惠券所发送的数据包,如果网站存在该方面的漏洞,可能通过
更改优惠券所对应的发送数据实现对优惠券的重复利用
1.3 更改订单单号
如果支付时会生成一个订单编号,并根据此订单编号进行交易,我们可以通过将小金额的订
单编号替换给大金额的订单数据包中达到小金额购买大金额物品的效果。
但我们进行订单单号购买可能并不会购买到高金额的物品,可能还是购买的原来小金额的
物品,成功与否就是看后端的处理逻辑了。