⽀付逻辑漏洞思路⼩集合
⼀.直接的价格修改
⼆.修改⽀付状态
三.修改购买数量
四:⽀付附属值修改
➀:修改优惠劵⾦额
➁:修改优惠劵⾦额及业务逻辑问题 ➂:修改积分⾦额
➃:满减修改
五:订单替代⽀付
六:⽀付接⼝替换
七:重复⽀付
⼋.最⼩额⽀付及最⼤⽀付(⾦额溢出) ➀:最⼩⽀付
➁:最⼤⽀付(⾦额溢出)
九.四舍五⼊导致⽀付漏洞
⼗.⾸单优惠,⽆限重购
⼗⼀.越权⽀付
⼗⼆.并发数据包
⼗三.盲盒类抽奖
⼗四.直播打赏类
一.直接的价格修改
在⽀付当中,购买商品⼀般分为三步骤:订购、确认信息、付款。
⽽我们修改哪⼀步呢?你可以在这三个步骤当中的随便⼀个步骤进⾏修改价格测试,如果前⾯两步有验
证机制,那么你可在最后⼀步付款时进⾏抓包尝试修改⾦额,如果没有在最后⼀步做好检验,那么问题
就会存在,修改⾦额我们同样也可以修改为负数等。
二.修改支付状态
这个就类似于我们之前说的登录的⼀些逻辑漏洞⼀样,⽹站直接通过响应码判断是否成功。例如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,…...
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可以互不干扰地使用相同的端口号。 但是,需要注意的是…...
红黑树的介绍与实现
前言 前面我们介绍了AVL树,AVL树是一棵非常自律的树,有着严格的高度可控制!但是正它的自律给他带来了另一个问题,即虽然他的查找效率很高,但是插入和删除由于旋转而导致效率没有那么高。我们上一期的结尾说过经常修改…...
easyexcel将csv转为excel处理数字问题
使用easyexcel可以将csv格式的文件转为.xlsx文件,但是csv中有很多数字,比如:"123","12.34","-111",默认情况下会将其作为字符串写入.xlsx文件,就如同下面一样,字符类型的数字…...
DDMA信号处理以及数据处理的流程---随机目标生成
Hello,大家好,我是Xiaojie,好久不见,欢迎大家能够和Xiaojie一起学习毫米波雷达知识,Xiaojie准备连载一个系列的文章—DDMA信号处理以及数据处理的流程,本系列文章将从目标生成、信号仿真、测距、测速、cfar…...
爬虫实现思路
现在的人工智能太强大了,只要有问题,输入后就能给出大致的实现思路;我看了下确实没问题,只需要更改一些细节基本就能拿来就用;下面是我实验经历: 问题: c# 书写爬虫爬取按动物名称,…...
神经网络 torch.nn---Non-Linear Activations (ReLU)
ReLU — PyTorch 2.3 documentation torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io) 非线性变换的目的 非线性变换的目的是为神经网络引入一些非线性特征,使其训练出一些符合各种曲线或各种特征的模型。 换句话来说,如果模型都是直线特征的…...
【微服务】使用kubekey部署k8s多节点及kubesphere
kubesphere官方部署文档 https://github.com/kubesphere/kubesphere/blob/master/README_zh.md kubuctl命令文档 https://kubernetes.io/zh-cn/docs/reference/kubectl/ k8s资源类型 https://kubernetes.io/zh-cn/docs/reference/kubectl/#%E8%B5%84%E6%BA%90%E7%B1%BB%E5%9E…...
目标检测数据集 - 垃圾桶满溢检测数据集下载「包含VOC、COCO、YOLO三种格式」
数据集介绍:垃圾桶满溢检测数据集,真实场景高质量图片数据,涉及场景丰富,比如城市道边垃圾桶满溢、小区垃圾桶满溢、社区垃圾桶满溢、农村道边垃圾桶满溢、垃圾集中处理点垃圾桶满溢、公园垃圾桶满溢数据等。数据集标注标签划分为…...
6.9总结(省赛排位赛1)
省赛排位赛1省赛排名赛1 - Virtual Judge (vjudge.net) 思路: 其实就是一个斐波拉契数列,当前项前两项之和,先将范围内的数全部存起来放进一个数组,再进行累加查询 代码: #define _CRT_SECURE_NO_WARNINGS 1 #incl…...
58.CountdownLatch
用来进行线程同步协作,等待所有线程完成倒计时。 构造参数用来初始化等待计数值,await方法用来等待计数归零,countDown方法用来让计数减一。 CountdownLatch普通使用 @Slf4j public class CountdownLatchDemo {public static void main(String[] args) {CountDownLatch c…...
Java数据结构准备工作---常用类
文章目录 前言1.包装类1.1.包装类基本知识1.2.包装类的用途1.3.装箱和拆箱1.3.1.装箱:1.3.2.拆箱 1.4 包装类的缓存问题 2.时间处理类2.1.Date 时间类(java.util.Date)2.2.DateFormat 类和 SimpleDateFormat 类2.3.Calendar 日历类 3.其他常用类3.1.Math类3.2.Rando…...
网站策划书格式/全网品牌推广
Elasticsearch.安装(单节点) 环境Linux 7.x jdk 1.8 elasticsearch 5.x 环境目录结构(根目录多了两个文件夹): /resources /** 存放下载的文件 **/ /u01/app /** 安装elasticsearch的目录. **/ 在linux的终端执行指令: …...
wordpress精简化教程/seo网站关键词优化方式
问题 1:C 中的类可以定义多个对象,那么对象构造的顺序是怎样的? 问题 2:对象构造顺序会带来什么影响呢? 对象构造往往与构造函数相关联,构造函数体有可能是非常复杂的程序逻辑组成,不同类的构造…...
刚开始的网站开发公司/网站如何快速收录
hadoop是用Java语言实现的开源软件框架,可以支持多种语言,我学习的时候用得自然就是Java了。 在开始编程之前需要做一些配置工作: Hadoop开发:Hadoop为HDFS和Mapreduce提供了基础的支持,叫hadoop common。Hadoop有一个…...
dw动态网站怎么做搜索框/常见的网络营销方式有哪些
只要能存储数据的器件都可以称之为存储器,它的含义覆盖了寄存器,缓存,内存,硬盘。 cpu访问快慢的速度依次为:寄存器-> 缓存->内存->硬盘 寄存器(register)是中央处理器的组成部分,是…...
广州科 外贸网站建设/网销是做什么的
最近发现DOMDocument对象很重要,还有XMLHTTP也很重要 注意大小写一定不能弄错. 属性: 1Attributes 存储节点的属性列表(只读) 2childNodes 存储节点的子节点列表(只读) 3dataType 返回此节点的数据类型 4Definition 以DTD或XML模式给出的节点的定义(只读) …...
做网站的小图标/百度竞价点击软件
》》下拉组件 1.组件结构: 2.index.js: 1 //index.js2 Component({3 /**4 * 组件的属性列表5 */6 properties: {7 propArray: {8 type: Array,9 } 10 }, 11 /** 12 * 组件的初始数据 13 */ 14 data: { 15 selec…...