八漏洞原理及应用支付漏洞 笔记和靶场

Posted 玛卡巴卡巴巴亚卡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了八漏洞原理及应用支付漏洞 笔记和靶场相关的知识,希望对你有一定的参考价值。

一、快捷支付原理

商户网站接入支付结果有两种方式:

1、通过浏览器进行跳转通知

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

2、服务器端异步通知

支付公司服务器后台直接向用户指定的异步通知URL发送参数,采用POST或GET方式。商户网站接收异步参数的URL对应的程序,要对支付公司返回的支付结果进行签名验证,成功后进行支付逻辑处理,如验证金额、订单信息是否与发起支付时一致,验证正常则对订单进行状态处理或为用户进行网站内入账等。

二、常见支付漏洞

1、修改支付价格

https://www.uedbox.com/post/22477/

支付三部曲:订购、订单、付款

三个步骤中随便一个步骤进行修改价格测试,如果前面两步又验证机制,name可以在最后一步付款时进行抓包尝试修改金额,如果没有在最后一步做好检验,问题就会存在。修改的金额可以尝试小数目或负数。

2、修改支付状态

https://www.uedbox.com/post/24090/

订单完成——未完成 烦不清楚

A订单-0001完成——B订单-0002未完成

付款时尝试把订单B的单号改成订单A

 

也不局限于付钱:https://woo.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0156253

3、修改订单数量

https://www.uedbox.com/post/23143/

4、修改附属值

优惠券

优惠券基本都是优惠,一般用优惠券消费出现在第二个步骤中:确认购买信息,这个步骤页面,可以选择相关优惠券,直接修改金额大于或等于商品的价格就可以,或直接修改为负数进行尝试,然后支付,如果对这一点没有验证,那么就会产生问题。

5、越权支付

存在user=id(123)这种传参,尝试修改id,用别人的钱包买自己的东西。

6、无限制试用

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

如果我们购买参数2,会发生什么?

https://www.uedbox.com/post/12258/

https://www.uedbox.com/web-security/wooyunbugs/

三、支付漏洞如何挖掘

1、找到关键数据包

一个支付操作有三四个数据包,要对数据包进行挑选

2、分析数据包

支付数据包中会有很多敏感信息(账号、金额、余额、优惠),要尝试对数据包中各个参数进行分析

3、不按套路出牌

想想开发没有想到的地方

4、尝试pc端、wap端、app端

工具:夜神模拟器、二维码扫描器

四、防御方法

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

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

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

4、支付参数进行MD5加密、解密、数字签名以及验证,可以有效避免数据修改,重放攻击中的各种问题

5、金额超过阈值,进行人工审核

五、靶场

在靶场注册后登录,然后交易一笔订单,把订单数量改成负数。

这时提交订单会报一个网页的错误,但是回到个人钱包会发现我们的余额变成正数了,并且数值大会出现flag值。

 

 

 

 

 

 

以上是关于八漏洞原理及应用支付漏洞 笔记和靶场的主要内容,如果未能解决你的问题,请参考以下文章

八漏洞原理及利用XXE 笔记和靶场

八漏洞原理及利用越权 笔记以及靶场

八漏洞原理利用验证码绕过,密码找回漏洞 笔记和靶场

八漏洞原理利用SSRF 笔记和靶场

log4j漏洞原理和靶场复现

安全牛学习笔记CSRF跨站请求伪造攻击漏洞的原理及解决办法