8-4支付漏洞

举报
Gere 发表于 2022/12/31 08:27:45 2022/12/31
【摘要】 一、快捷支付原理商户网站接入支付结果有两种方式,一种是通过浏览器进行跳转通知,一种是服务器端异步通知浏览器跳转基于用户访问的浏览器,如果用户在银行页面支付成功后,直接关闭了页面,并未等待银行跳转到支付结果页面,那么商户网站就收不到支付结果的通知,导致支付结果难以处理。而且浏览器端数据很容易被篡改而降低安全性服务器端异步通知该方式是支付公司服务器后台直接向用户指定的异步通知URL发送参数,采用...


一、快捷支付原理

商户网站接入支付结果有两种方式,一种是通过浏览器进行跳转通知,一种是服务器端异步通知
浏览器跳转
基于用户访问的浏览器,如果用户在银行页面支付成功后,直接关闭了页面,并未等待银行跳转到支付结果页面,那么商户网站就收不到支付结果的通知,导致支付结果难以处理。而且浏览器端数据很容易被篡改而降低安全性
服务器端异步通知
该方式是支付公司服务器后台直接向用户指定的异步通知URL发送参数,采用POST或GET的方式。商户网站接收异部参数的URL对应的程序中,要对支付公司返回的支付结果进行签名验证,成功后进行支付逻辑处理,如验证金额、订单信息是否与发起支付时一致,验证正常则对订单进行状态处理或为用户进行网站内入账等

支付漏洞?

  • 相对于其他漏洞来说,支付漏洞应该是大家最喜闻乐见的了,比如一分钱购买手机(但是大家渗透测试要有分寸)

  • 支付漏洞并不需要代码审计,各位同学可以放心。

  • 支付漏洞属于逻辑漏洞,挖掘这类漏洞有发散(QiPa)思维,往往有事半功倍的效果,简单来说就是不按常理出牌。

二、常见支付漏洞

  • 修改支付的价格(https://www.uedbox.com/post/22477/)
    支付三步曲——订购、订单、付款
    三个步骤当中的随便一个步骤进行修改价格测试,如果前面两步有验证机制,那么你可在最后一步付款时进行抓包尝试修改金额,如果没有在最后一步做好检验,那么问题就会存在,其修改的金额值你可以尝试小数目或者尝试负数。

  • 修改支付状态(https://www.uedbox.com/post/24090/)
    订单完成——未完成(傻傻分不清)
    A订单-0001完成——B订单-0002未完成
    付款时尝试把订单B的单号给成订单A
    其实也不局限于付钱:http://woo.zone.ci/bug_detail.php?wybug_id=wooyun-2015-0156253

  • 修改订单数量(https://www.uedbox.com/post/23143/)
    一支笔1块,买0支,或者买-1支(不久等于免费了么?

  • 修改附属值
    优惠劵
    优惠劵其基本都是优惠,一般用优惠劵进行消费一般出现在第二个步骤当中:确认购买信息,在这个步骤页面当中,你可以选择相关优惠劵,然后直接修改金额大于或等于商品的价格就可以,或者直接修改其为负值进行尝试,最后进行支付,如果对这点没有加以验证,那么问题就会产生,直接支付成功
    例外就是x大佬,买商品,优惠券x27张(可怕。。。)

  • 越权支付
    这个大家比较了解吧
    存在user=id(123),这种传参时,尝试改改id,尝试用别人的钱包买自己的包包。

  • 无限制试用
    比如试用的参数为2,正常购买的参数为1
    那么我们购买参数2(试用),会发生什么呢?
    疯掉的逻辑(https://www.uedbox.com/post/12258/)
    https://www.uedbox.com/web-security/wooyunbugs/

三、支付漏洞如何挖掘

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

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

  • 不按套路出牌
    多去想想开发者没有想到的地方

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

分享一下前天我们SRC活动挖到的支付漏洞

四、防御方法

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

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

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

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

  • 金额超过阈(yu)值,进行人工审核

五、靶场

注册登录,购买大负数量,在在线充值里就有flag

image-20201031202707671

image-20201031202950229

image-20201031203052573

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。