业务逻辑之支付安全

  • 定义

    • 支付过程中存在的漏洞
  • 利用种类

    • 不正确的输入验证
      • 如负数金额、非法银行卡信息
    • 重放攻击
      • 单一请求多次发送造成多次扣款
    • 价格篡改
      • 可修改价格导致0元购
    • 交易注入
      • 支付请求有问题的话,攻击这可能植入恶意代码或者恶意请求造成未经授权的支付
    • 缺乏双因素认证
      • 单一验证信息如只验证支付密码,密码泄露可能导致他人恶意使用
    • 不安全的第三方支付集成
      • 在有第三方支付请求的时候,如果没有正确处理响应或错误,攻击者可能会构造支付请求绕过支付验证实现0元购
    • 社会工程学或钓鱼
      • 攻击者可能试图通过欺骗用户来获取其支付信息,例如通过伪装成可信赖的实体或发送恶意电子邮件
  • 测试支付漏洞手法

    • 修改支付价格
    • 修改支付状态
    • 修改购买数量
    • 修改附属值,运费
      • 积分、优惠券、运费等和商品相关的附加信息
    • 修改支付接口
      • 自身支付和第三方支付接口,如果逻辑不当,可以修改为不存在的支付接口并显示支付成功
    • 多重替换支付
      • 首先产生两个订单,购买商品A和商品B,在订单支付之前修改商品A的订单号为商品B,从而使得利用商品B的价格购买到了商品A
    • 重复支付
      • 订单成功支付返积分,重复提交成功支付的数据包多次返积分
    • 最小额支付
      • 一般商品会有一个最低支付金额,小于该金额默认不成功;这和修改支付价格漏洞相搭配,一般尝试0.01 0.1 1 10 就ok了
    • 值为最大值支付
      • 即修改支付金额、商品数量或者附属值等为最大值,如9999999999999,确保超出承受极限,可能由于整数溢出实现支付为0
    • 越权支付
      • 基本不存在了;即支付过程中未对用户身份进行判断,导致修改用户id就可利用他人账号支付自己商品
    • 无限制试用
      • 假设一个商品7天试用期,只能试用一次,如果下单购买其他商品,然后将商品编号改为试用的商品可能由于商品未上架而0元再次试用,不断重复导致无限期试用
    • 多线程并发
      • 整个处理逻辑未上锁,导致请求数大于处理速度时,返回了大于实际情况的响应信息
      • 如提现操作;账户只有10元钱,每次体现一元,正常只能体现10次;但是如果一次性发送了1000条请求,超出了系统的处理速度,导致系统最终接收到了20条请求,就会体现出20元,相当于在10元的账户中体现了20元
      • 提现操作可以简单分为三步:接收请求---》处理请求---》体现成功 (账户余额减少)
        • 整个过程需要一定时间,若未对整个过程加锁,则会导致实际接收请求数>账户余额支持请求数
  • 思路

    • 订单
      • 选商品时修改商品价格
      • 选商品时修改数量
      • 商品为1时多人同时购买是否存在冲突
      • 商品为0时是否可以下单
      • 订单生成后修改商品金额
    • 结算
      • 优惠打折服务多次重复使用
      • 拦截数据包修改订单金额
      • 拦截数据包修改支付方式
      • 伪造虚假订单,刷单
    • 支付
      • 拦截数据包,伪造第三方确认信息
      • 保存用户付款信息被窃取
    • 退货
      • 绕过商家直接退货
      • 绕过商品类型直接退货
      • 越权
    • 收货
      • 绕过客户确认直接收货
      • 越权
    • 评论
      • 越权
      • 信息泄露
      • xss
      • sql注入
      • 文件上传
      • csrf
      • 刷评论
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

I_WORM

大佬们,赏点儿碎银吧~~

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

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

打赏作者

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

抵扣说明:

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

余额充值