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