渗透测试基础-支付漏洞

只为对所学知识做一个简单的梳理,如果有表达存在问题的地方,麻烦帮忙指认出来。我们一起为了遇见更好的自己而努力💪!

支付的定义

支付又称付出、付给,多指付款,是发生在购买者销售者之间的金融交换,是社会经济活动所引起的货币债权转移的过程。支付包括交易清算结算

以前的支付,一般用物品做交换,最早是以物易物,然后在就有了钱币的概念,最近就是纸币和已经存在有一段时间的虚拟货币(正在推行中的中央数字货币也属于虚拟货币的一种)

在交易中,以前就有漏洞的存在,一般是出在物品或者钱币本身,如对物品或钱币造假,现在的线上交易,大多数是问题就在交易过程当中了,如对数据做更改,已达到篡改金额或者数量的效果

先了解一下现在线上快捷支付的原理:

  1. 浏览器跳转

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

  2. 服务器端异步通知

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

支付漏洞属于逻辑漏洞,挖掘时,思维要尽量发散,不按常理来,会有更好的效果
需要注意的是,因为涉及金额这样的敏感数据,所以尽量选择金额较小的去尝试。

常见支付漏洞类型

  1. 修改支付价格
    支付三部 订购-订单-付款

    三个步骤当中的随便哪一个步骤进行修改金额的测试,如果前面两个步骤有验证机制,那么就在最后的付款时进行抓包修改,如果在最后一步没有做好验证,那么问题就会在那出现,在修改金额时,选择小金额或者负数尝试。

  2. 修改订单状态
    订单完成—未完成
    将未完成的支付订单改为完成

  3. 修改订单数量
    一般采取用负数的方式来尝试。

  4. 修改附属值
    如优惠卷这样的东西,大多数情况下商品只能用一张优惠卷,但可以将其限制个数的附属值改变,就能同时使用很多张。

支付漏洞靶场演练

在这里插入图片描述
靶场貌似是一个CMS,随便尝试一个账号进入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看到这里有买东西的地方,进去测试一下

在这里插入图片描述
穿越火线充值卡,尝试在前面加了个-号 让其变成负数试试
在这里插入图片描述
这里报出了错误,还能看到执行语句和文件目录,在看看其他地方
在这里插入图片描述
在这居然看到我的这个账号的账户金额居然多了钱进来,刚刚的负号,让我不但不用给钱,反倒给我了钱。

在这里插入图片描述

在数字加大一点看看(正常情况下不建议这么做,涉案金额过大,容易出事情。)

在这里插入图片描述
在余额界面看到了flag

漏洞总结

这里在说一下有关这个支付漏洞的防护方法:

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

《最好的防御,是明白其怎么实施的攻击》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jinxya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值