当前位置: 首页 > news >正文

⽀付逻辑漏洞思路⼩集合


⼀.直接的价格修改 
⼆.修改⽀付状态 
三.修改购买数量 
四:⽀付附属值修改 
➀:修改优惠劵⾦额 
➁:修改优惠劵⾦额及业务逻辑问题 ➂:修改积分⾦额 
➃:满减修改 
五:订单替代⽀付 
六:⽀付接⼝替换 
七:重复⽀付 
⼋.最⼩额⽀付及最⼤⽀付(⾦额溢出) ➀:最⼩⽀付 
➁:最⼤⽀付(⾦额溢出) 
九.四舍五⼊导致⽀付漏洞 
⼗.⾸单优惠,⽆限重购 
⼗⼀.越权⽀付 
⼗⼆.并发数据包 
⼗三.盲盒类抽奖 
⼗四.直播打赏类 

 一.直接的价格修改

在⽀付当中,购买商品⼀般分为三步骤:订购、确认信息、付款。
⽽我们修改哪⼀步呢?你可以在这三个步骤当中的随便⼀个步骤进⾏修改价格测试,如果前⾯两步有验
证机制,那么你可在最后⼀步付款时进⾏抓包尝试修改⾦额,如果没有在最后⼀步做好检验,那么问题
就会存在,修改⾦额我们同样也可以修改为负数等。

二.修改支付状态

这个就类似于我们之前说的登录的⼀些逻辑漏洞⼀样,⽹站直接通过响应码判断是否成功。例如200成
功,400失败等。
此外还有,例如A订单-0001完成——B订单-0002未完成
付款时尝试把订单B的单号给成订单A,也可能会导致未付款直接显示完成。 

三.修改购买数量

在⽀付中,例如你买⼀个蜜汁⼩汉堡为⼗块钱,⼗个就是10*10=100,如果我们修改数量为-10个,那
么是不是平台要反要倒给我们100,利⽤这个漏洞,我们就可以很便宜买到东⻄。 

 四.支付附属值修改

我们在⽀付的时候,常会给你⼀些优惠劵呀,积分呀,满减等等,⽽这些值同样都是没有操作的点。

1:修改优惠劵金额

我们可以直接对数据包中优惠价的价格数量等进⾏操作,如果服务器对其没有验证,就会导致漏洞产生

2:修改优惠劵⾦额及业务逻辑问题

有时候我们明明修改成功了,但是在⽀付时可能会失败或者显示⾦额不正确,这⾥不要放弃,我们还可
以试试其他操作,虽然⽀付失败了,但是订单可能创建了,价格还是原来的价格,我们照样可以进⾏⽀
付。
此外,很多平台可能存在⼀个钱包的功能,我们先充⼀点钱,然后选择⽤⾃带的钱包进⾏⽀付,那么也
是有可能直接成功的。

3:修改积分金额

有些⽹站⽀付时可以使⽤积分,积分⼜可以抵现,我们也可以尝试修改这个地⽅,进⾏测试;此外我们
也可以反向操作,例如下单10元送1积分,我们直接梭哈,修改个100,这样不也是⼀样嘛。

4:满减修改

例如每次双⼗⼀的跨店满减,300减100,我们可以对300修改,例如修改到101减100,降低满减⻔槛等操作 同时也可以⽤到运费等其他⽀付附属值,都可以进⾏修改

五:订单替代支付

我们创建⼀个A订单为10元,创建⼀个B订单为100元,如果在⽀付过程中,我们将B的订单号改
为A,服务器没有对其进⾏其他校验的话,我们是可以⽀付成功的,相当于10元撸到了100元的东⻄ 

这个操作简单就是说由于没有其他验证,我们可以先记下充值⼀元的单号,然后再替换0.01的单号,这
样我们⽀付0.01就变成了充值⼀元,可以看到账号⼜多了⼀块钱

 六:支付接口替换

⽐如⼀些⽹站⽀持很多种⽀付,⽐如⾃家的⽀付⼯具,第三⽅的⽀付⼯具,然后每个⽀付接⼝值不⼀
样,如果逻辑设计不当,当我随便选择⼀个点击⽀付时进⾏抓包,然后修改其⽀付接⼝为⼀个不存在的
接⼝,如果没做好不存在接⼝相关处理,那么此时就会⽀付成功。

七:重复支付

 到这个有⼈可能会说,⽀付⼀次搞个数据包不久⾏了,为什么要重复⽀付,多花钱。
这⾥举⼀个例⼦,京东存在试⽤商品卡,
⼀张卡可以试⽤⼀个商品,我们可以将这个试⽤商品的数据包
进⾏多次提交,如果服务端没有进⾏校验的话就会产⽣很多订单,⽽如果我们将这个订单退掉,那么这
个试⽤卡就会退回,如果我们将这些订单全部退掉,是不是就能获得很多试⽤卡呢?

八:最小额支付及最大支付

 1:最小支付

在很多⽩帽⼦测试⽀付的漏洞时候,修改的⾦额往往都是0.01等或者负数,我想说这很容易错失掉⼀些
潜在的⽀付问题,因为有些⼚商在设计时最低⽀付⾦额就是1元,低于这个全部算⽀付失败,所以我们
在测试时不能直接修改太低,哪怕⽐原始⾦额少⼀元,也是可以证明存在⽀付漏洞的。

2:最大支付

⼀般在开发当中,商品的⾦额都会⽤int 型来定义,那么 int 的最⼤值为2147483647,可以尝试修改为
2147483648。看是否造成整数溢出,有可能⽀付状态异常,从⽽导致⽀付成功。
利⽤公式:2147483647/物品单价+1=物品数量

九:四舍五入导致支付漏洞

我们以充值为例,余额值⼀般保存到分为⽌,那么如果我充值0.001元也就是1厘,
⼀般开发会在前端判
断我们的数字,或者将最后⼀位四舍五⼊,使⽤⽀付宝充值是直接报错的,因为第三⽅⼀般只⽀持到
分。
那我们如果充值0.019呢,由于⽀付宝只判断到分,所以导致只能⽀付0.01,⽽由于我们⽀付成功,前端
会将9四舍五⼊,直接变成0.02,所以等于直接半价充值。 

十:首单优惠  无限重构

很多⼚家为了留住⽤户,都会有⼀个⾸⽉半价,或者是免费等等的活动,我们可以抓取这个数据包,进
⾏多次⽀付,就可以⼀直优惠购买。(百度云去年有这个漏洞,可以⽆限6元⼀⽉超级会员。

 十一:越权支付

这个问题很早之前有过,现在可能很少存在这类问题,在⽀付当中会出现当前⽤户的ID,⽐如:
username=XXXXX,如果没有加以验证,其⽀付也是⼀次性⽀付没有要求输⼊密码什么的机制,那么就
可以修改这个⽤户ID为其它⽤户ID,达到⽤其他⽤户的账号进⾏⽀付你的商品。
或者使⽤CSRF漏洞操作等等。

十二: 并发数据包

这个思路就是在买⼀个商品的时候,⽀付操作抓包,⾼并发环境下反复多次购买,有可能会造成⽐如10
块钱的东⻄,⾼并发操作下,花10块钱买了很多个。有些环境下要先满⾜兑换条件,例如兑换2次,
⼀次1元,⾸先余额要够4元才可以。
(发散思路:退款等等也同样是可以并发操作的。)

 

十三:盲盒类抽奖

现在由于盲盒类的兴起,在线盲盒也多了起来,我们拿⼀个简单的举例,例如现在有三个盲盒,两个普
通款,
⼀个隐藏款,那我们如何100%能获得隐藏款呢,我们可以尝试修改盲盒的属性,例如隐藏款对
应的id为1,普通款都为2,我们就可以将所有抽到id为2的修改为1即可

十四: 直播打赏类

⼀些直播平台的礼物可能还是根据id值来进⾏划分,其中就有可能存在⼀些内部测试的礼物,我们可以
尝试对礼物的id值进⾏⼀个遍历,查看是否有其他隐藏信息。
暂时就简单总结这么多,这种⽀付类逻辑漏洞现在也有点难挖,⼚商很多都有token、加密等,但是这
类漏洞其实⼜很好挖,因为很多时候看你的思路有多宽,骚套路有多深,漏洞就能挖多深。
此外,⽀付类漏洞适可⽽⽌,搞太多可能还是会被请进去的。

相关文章:

⽀付逻辑漏洞思路⼩集合

⼀.直接的价格修改 ⼆.修改⽀付状态 三.修改购买数量 四:⽀付附属值修改 ➀:修改优惠劵⾦额 ➁:修改优惠劵⾦额及业务逻辑问题 ➂:修改积分⾦额 ➃:满减修改 五:订单替代⽀付 六:⽀付接…...

嵌入式学习——Linux高级编程复习(线程)——day40

1. 线程 1.1 定义 线程是一个轻量级的进程 是一个任务被创建、调度、消亡的过程 1.2 线程和进程的区别与联系 1. 线程是CPU任务调度的最小单元 2. 进程是操作系统资源分配的最小单元 3. 线程(Thread)是操作系统能够进行运算调度的最小单位…...

kvm管理工具-virsh

virsh 查看全部虚拟机列表停止虚拟机列表启动虚拟机强制关闭虚拟机连接虚拟机控制台查看虚拟机的详细信息查看虚拟机接口信息查看虚拟机xml文件配置删除虚拟机 KVM(Kernel-based Virtual Machine)是一种基于 Linux 内核的虚拟化技术,允许在一…...

VisionPro的应用和入门教程

第1章 关于VisionPro 1.1 康耐视的核心技术 1. 先进的视觉系统 康耐视的视觉系统结合了高性能的图像传感器、复杂的算法和强大的计算能力,能够实时捕捉、分析和处理高分辨率图像。其视觉系统包括固定式和手持式两种,适用于各种工业环境。无论是精密电…...

整数规划问题算法例子

整数规划问题算法概述 整数规划(Integer Programming, IP)问题是优化问题的一种,其中决策变量必须取整数值。整数规划问题在许多实际应用中广泛存在,如资源分配、排班、路径优化等。 0-1背包问题旅行商问题利用线性规划库求解整数规划问题的方法 以下是两个常见的整数规划…...

C#启动一个cmd.exe多次随时输入命令并获取输出

想要实现的效果,程序通过Process类一次启动cmd,后台线程每隔一定时间,向其输入命令,获得并处理输出。 一、基本操作 首先,通常操作的例子一抓一大把: 1、通过Process启动cmd执行一条/多条(&am…...

持续总结中!2024年面试必问 20 道分布式、微服务面试题(五)

上一篇地址:持续总结中!2024年面试必问 20 道分布式、微服务面试题(四)-CSDN博客 九、请解释API网关在微服务架构中的作用。 API网关是微服务架构中的一个重要组件,它充当所有客户端请求的单一入口点,然后…...

Android输入法IME(三)之 管理端(IMMS)启动流程

2.2. IME管理端(IMMS)初始化流程 IMMS运行在system server进程中,属于系统服务的一部分,用于控制输入法的显示/隐藏、切换、绑定等操作。 涉及代码文件路径: IMMS运行在system server进程中,属于系统服务的…...

elasticsearch安装与使用(4)-搜索入门

1、创建索引 PUT /hotel {"mappings": {"properties":{"title":{"type": "text"},"city":{"type": "keyword"},"price":{"type":"double"}}} }2、写入文档 …...

【UML用户指南】-12-对高级结构建模-接口、类型和角色

目录 1、名称 2、操作 3、关系 4、理解接口 5、常用建模技术 5.1、对系统中的接缝建模 5.2、对静态类型和动态类型建模 5.2.1、对静态类型建模 5.2.2、对动态类型建模 使接口易于理解和易于访问 接口在关于一个抽象做什么的描述与关于这个抽象如何做的实现之间定义了…...

C++笔试强训day42

目录 1.最大差值 2.兑换零钱 3.小红的子串 1.最大差值 链接https://www.nowcoder.com/practice/a01abbdc52ba4d5f8777fb5dae91b204?tpId182&tqId34396&rp1&ru/exam/company&qru/exam/company&sourceUrl%2Fexam%2Fcompany&difficulty2&judgeSta…...

Docker 中运行的 MySQL 数据库与 Docker 外部的管理系统连接

步骤 1:运行 MySQL 容器 首先,确保你的 Docker 容器中运行了 MySQL 数据库。 docker run --name mysql-container -e MYSQL_ROOT_PASSWORDmy-secret-pw -d -p 3306:3306 mysql:latest--name mysql-container 为容器命名。-e MYSQL_ROOT_PASSWORDmy-sec…...

10 设备树

掌握设备树是 Linux 驱动开发人员必备的技能! 1、什么是设备树 新版本 Linux 中,ARM 相关的驱动全部采用了设备树。Linux-4.1.15 支持设备树。我们了解一下设备树的起源、重点学习一下设备树语法。 设备树:Device Tree,就是“设备”和“树”,描述设备树的文件叫做 DTS(…...

【架构分析】GPU执行GEMM矩阵运算实例演示

背景介绍 Cutlass是 NVIDIA 提供的一套用于高效实现矩阵乘法和卷积操作的 C 库。它以 CUDA 为基础,提供了高度优化的数学运算,尤其适用于GPU上的高性能并行计算。本文以GEMM矩阵运算作为实例,展示Cutlass在GPU上执行GEMM运算的过程 实例演示…...

从《千脑智能》看大模型

千脑智能与大模型 千脑智能介绍 世界模型千脑智能理论——对大脑的全新理解旧大脑:演化的历史烙印新大脑:智慧的创新引擎新旧大脑的互动与争斗启示与借鉴 大脑对信息的处理和建模六根六尘六识 新脑:智能的创新中枢旧脑:生存的本能…...

k8s Pods漂移时间配置

默认为300秒 apiVersion: apps/v1 kind: Deployment metadata:name: my-test spec:replicas: 1selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: my-containerimage: nginx:latestports:- containerPort: 80tolerations:- key: &…...

Python - json 美化格式、保存文件

文章目录 读取长篇幅的 jsonl 文件时,我们难以了解 json 的格式,复制出来贴到 sojson 之类的网站,当数据量大的时候感觉麻烦。 不如自己写个 json 格式美化,然后保存到文件。 text open(file_path).readline() # 读取 jsonl 文…...

博客目录~

1、Jenkins构建打包部署前端Vue项目至Nginx-CSDN博客 2、https://blog.csdn.net/askuld/article/details/139429298 3、基于DockerJenkins实现自动部署SpringBootMaven项目-CSDN博客 4、时序数据库ClickHouse的安装使用_clickhouse安装使用-CSDN博客 5、Valid&#xff0c…...

RPC RMI 区别以及在java中的应用

文章目录 1. 简介1.1 什么是RPC1.2 什么是RMI 2. RPC与RMI的区别2.1 RPC和RMI的优缺点对比RPC的优点RPC的缺点RMI的优点RMI的缺点 2.2 选择RPC还是RMI?应用场景和考虑因素选择RPC的场景选择RMI的场景 3. RPC在Java框架中的应用3.1 Java中常用的RPC框架3.2 RPC在Java…...

TCP和udp能使用同一个端口通讯吗

TCP和UDP是可以使用同一个端口进行通讯的。这是因为TCP和UDP是两个完全不同的协议,它们工作在传输层,各自维护不同的连接和会话。每个协议都有自己的端口号空间,因此TCP和UDP可以互不干扰地使用相同的端口号。 但是,需要注意的是…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...

boost::filesystem::path文件路径使用详解和示例

boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类&#xff0c;封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解&#xff0c;包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...

Appium下载安装配置保姆教程(图文详解)

目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...

Linux——TCP和UDP

一、TCP协议 1.特点 TCP提供的是面向连接、可靠的、字节流服务。 2.编程流程 &#xff08;1&#xff09;服务器端的编程流程 ①socket() 方法创建套接字 ②bind()方法指定套接字使用的IP地址和端口。 ③listen()方法用来创建监听队列。 ④accept()方法处理客户端的连接…...