DAY73WEB 攻防-支付逻辑篇篡改属性值并发签约越权盗用算法溢出替换对冲
知识点:
1、支付逻辑-商品本身-修改-数量&价格&属性等
2、支付逻辑-营销折扣-优惠券&积分&签约&试用等
3、支付逻辑-订单接口-替换&并发&状态值&越权支付等

支付逻辑常见测试:
熟悉常见支付流程:选择商品和数量-选择支付及配送方式-生成订单编号-订单支付选择-完成支付
熟悉那些数据篡改:商品ID,购买价格,购买数量,订单属性,折扣属性,支付方式,支付状态等
熟悉那些修改方式:替换支付,重复支付,最小额支付,负数支付,溢出支付,优惠券支付等
熟悉那些另类方法:无限试用,越权支付,并发兑换,四舍五入半价购,循环利用优惠券,支付签约逻辑等
支付逻辑挖掘:
找到关键的数据包:可能一个支付操作有三四个数据包,我们要对数据包进行挑选。
分析数据包:支付数据包中会包含很多的敏感信息(账号,金额,余额,优惠等)
要尝试对数据包中的各个参数进行分析。
不按套路出牌:多去想想开发者没有想到的地方,如算法拼接,关闭开启返优惠券等
PC端尝试过,APP端也看看,小程序也试试
支付逻辑安全修复:
在后端检查订单的每一个值,包括支付状态;
校验价格、数量参数,比如产品数量只能为整数,并限制最大购买数量 ;
与第三方支付平台检查,实际支付的金额是否与订单金额一致;
如给用户退款,要使用原路、原订单退回。如:退押金,按用户原支付订单原路退回;
加密、解密、数字签名及验证,这个可以有效避免数据修改,重放攻击中的各种问题;
金额超过指定值,进行人工审核等。
购买支付-修改数量&篡改价格&订单对冲


修改数量


篡改价格

产品替换对冲



购买支付-优惠券复用盗用&积分对冲溢出

正常每个账户只能领取一次

优惠卷复用

分别使用优惠卷购买商品及不使用优惠卷购买商品并抓取两个不同请求订单
数据包
goods_sku_list=1%3A1&leavemessage=&use_coupon=0&integral=0&account_balance=0&pay_type=0&buyer_invoice=&pick_up_id=0&express_company_id=1
goods_sku_list=1%3A1&leavemessage=&use_coupon=1&integral=0&account_balance=0&pay_type=0&buyer_invoice=&pick_up_id=0&express_company_id=1


优惠卷盗用

此时第四次购买商品,并修改数据包把use_coupon=0改为use_coupon=6

积分对冲溢出



相关文章:
DAY73WEB 攻防-支付逻辑篇篡改属性值并发签约越权盗用算法溢出替换对冲
知识点: 1、支付逻辑-商品本身-修改-数量&价格&属性等 2、支付逻辑-营销折扣-优惠券&积分&签约&试用等 3、支付逻辑-订单接口-替换&并发&状态值&越权支付等 支付逻辑常见测试: 熟悉常见支付流程:选择商品…...
2024 Rust现代实用教程:Ownership与结构体、枚举
文章目录 一、Rust的内存管理模型1.GC(Stop the world)2.C/C内存错误大全3.Rust的内存管理模型 二、String与&str1.String与&str如何选择2.Example 三、枚举与匹配模式1.常见的枚举类型:Option和Result2.匹配模式 四、结构体、方法、…...
MMed-RAG:专为医学视觉语言模型设计的多功能多模态系统
MMed-RAG:专为医学视觉语言模型设计的多功能多模态系统 论文大纲提出背景全流程优化空雨伞分析空:观察现象层雨:分析原因层伞:解决方案层 三问分析WHAT - 问题是什么?WHY - 原因是什么?HOW - 如何解决&…...
数据采集(全量采集和增量采集)
全量采集:采集全部数据 3、全量采集 vim students_all.json {"job": {"setting": {"speed": {"channel": 1},"errorLimit": {"record": 0,"percentage": 0.02}},"content": [{…...
GPT-Sovits-1-数据处理
1.1 切割音频 将音频切割为多个10s内的片段 1.2 降噪 这一步用的是modelscope的pipeline 如果要去除背景音,可以用傅立叶转为为频谱,去除低频部分后再转回来 1.3 提取音频特征 这里用到了 funasr 库 这一步目的是输出音频样本的《文本标签文件》&am…...
web前端多媒体标签设置(图片,视频,音频)以及图片热区(usemap)的设置
多媒体标签运用 在HTML中有以下常见多媒体标签: <img> (图像标签) - 作用:用于在网页中嵌入图像。 - 示例: <img src"image.jpg" alt"这是一张图片"> 。其中 src 属性指定图像的…...
尚硅谷react教程_扩展_stateHook
1.类式组件写 import React, {Component} from react;export default class Demo extends Component {state {count:0}add () > {this.setState(state>({count:state.count1}))}render() {return (<div><h2>当前求和为{this.state.count}</h2><b…...
专线物流公共服务平台:数据驱动,标准引领,共创金融双赢新时代
专线物流公共服务平台:数据驱动,标准引领,共创金融双赢新时代 在当今这个数据驱动、标准引领、金融赋能的经济发展新时代,专线物流作为商贸流通领域的重要一环,正面临着前所未有的机遇与挑战。为应对复杂多变的市场环…...
界面控件DevExpress JS ASP.NET Core v24.1亮点 - 支持Angular 18
DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,…...
Spring之依赖注入(DI)和控制反转(IoC)——配置文件、纯注解
依赖注入 依赖注入(Dependency Injection,简称 DI)与控制反转(loC)的含义相同,只不过这两 个称呼是从两个角度描述的同一个概念。对于一个 Spring 初学者来说,这两种称呼很难理解, 下面我们将通过简单的语言来描述这两个概念。 当Java对象&…...
基于SpringBoot的宠物健康咨询系统的设计与实现
摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,宠物健康知识信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不…...
Lucene的使用方法与Luke工具(2)
文章目录 第2章 Lucene快速入门2.1 项目搭建2.1.1 SQL语句2.1.2 maven依赖2.1.3 实体类:2.1.4 编写DAO: 2.2 建立索引2.2.1 步骤:2.2.2 实现代码: 2.3 Luke工具2.3.1 运行界面介绍:1)主界面2)文…...
【客户端开发】electron 中无法使用 js-cookie 的问题
产生问题的原因 谷歌浏览器升级之后,出于安全考虑,cookie的SameSite属性默认值由None变为Lax,对于跨域的请求,禁止携带cookie。electron内核是chromium内核,所以也会有这个限制。 Cookie的SameSite属性用来限制第三方 Cookie&…...
kafka客户端消费者吞吐量优化
问题背景 业务场景 mq消息消费实时性要求不高,期望可以牺牲一部分实时性,换取吞吐量,例如:数据库单条insert优化为batchInsert。优化后结果不符合预期:消费者消费消息的batchSize远小于实际配置的max.poll.records&a…...
电子工程师-高质量工具包
目录 来源 高质量工具包介绍 总体框架如下 ZL01-各类元器件相关资料 ZL02-电源设计资料 ZL03-大厂参考资料 ZL04-开发工具 ZL05-仿真工具 ZL06-各类电路接口设计指南 ZL07-付费专栏全集 ZL08-优质电子书 ZL09-硬件工程师 ZL10FPGA工程师教程 ZL10-PCB设计教程 Z…...
简单认识redis - 12 redis锁
在斜体样式**redis中,不同的问题有不一样的解决办法,那么锁也有不同的锁来解决不一样的问题,下面将举出几个常用的redis锁。 1. SETNX锁(简单独占锁) 原理: SETNX(SET if Not eXistsÿ…...
基于springboot+vue车辆充电桩管理系统
基于springbootvue车辆充电桩管理系统 摘 要 随着信息化时代的到来,管理系统都趋向于智能化、系统化,车辆充电桩管理系统也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,…...
shodan用法(完)
声明 学习视频来自B 站up主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 shodan 今天,我们把shoda…...
【若依框架】代码生成详细教程,15分钟搭建Springboot+Vue3前后端分离项目,基于Mysql8数据库和Redis5,管理后台前端基于Vue3和Element Plus,开发小程序数据后台
今天我们来借助若依来快速的搭建一个基于springboot的Java管理后台,后台网页使用vue3和 Element Plus来快速搭建。这里我们可以借助若依自动生成Java和vue3代码,这就是若依的强大之处,即便你不会Java和vue开发,只要跟着石头哥也可…...
转子侧串级调速系统和双馈调速系统
转子侧串级调速系统和双馈调速系统是两种不同的电机调速技术,它们在基本原理、效率以及应用场景等方面存在区别。以下是详细的对比分析: 基本原理 转子侧串级调速系统:通过在绕线式异步电动机的转子回路中串入一个可调节的附加电势࿰…...
Arm硬件跟踪技术在嵌入式调试中的应用与优化
1. Arm Development Studio 跟踪技术深度解析在嵌入式系统开发领域,调试实时性要求高的系统一直是个棘手问题。传统断点调试会中断程序执行流,而日志输出又可能影响系统时序。Arm Development Studio提供的硬件跟踪技术完美解决了这一痛点——它能以纳秒…...
Hitboxer:免费解决游戏按键冲突的专业SOCD重映射工具
Hitboxer:免费解决游戏按键冲突的专业SOCD重映射工具 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否曾在激烈的格斗游戏中,因为同时按下左右方向键而无法准确释放必杀技ÿ…...
3DMAX建模救星实测:SmoothBoolean插件处理复杂布尔运算,到底有多稳多快?
3DMAX建模革命:SmoothBoolean插件深度测评与实战指南 在数字建模的世界里,布尔运算一直是把双刃剑——它既能快速实现复杂形状的切割与组合,又常常成为模型崩溃的导火索。对于专业建模师而言,面对机械零件、建筑构件或影视道具中那…...
Linux密钥文件管理实战指南
Linux密钥文件管理实战指南本文面向具备一定 Linux 基础的技术人员,围绕密钥文件管理展开,重点讨论敏感文件权限、轮换流程和审计追踪。在中级运维和系统管理工作中,这类主题常常与配置变更、资源状态、权限边界、自动化任务和业务影响交织在…...
XUnity自动翻译器:终极Unity游戏语言障碍解决方案指南
XUnity自动翻译器:终极Unity游戏语言障碍解决方案指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言不通而错过优秀的Unity游戏?是否在日文RPG、韩文视觉小说…...
【亲测免费】 探索RS485通信的利器:开源项目推荐
探索RS485通信的利器:开源项目推荐 【下载地址】RS485通信程序 本仓库提供了一个完整的RS485通信程序,经过本人亲自测试,程序注释详细,非常适合作为学习和开发的参考例程。无论你是初学者还是有经验的开发者,这个资源都…...
【更新至2025年】2001-2025年上市公司年报文本数据(txt格式)
【更新至2025年】2001-2025年上市公司年报文本数据(txt格式) 1、时间:2001-2025年 2、来源:巨潮资讯网 3、范围:A股上市公司 4、样本量:共7.2W份 5、说明:上市公司年报文本数据可以挖掘文本…...
长期项目使用 Taotoken 聚合 API 在模型选型与切换上的便利性体验
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期项目使用 Taotoken 聚合 API 在模型选型与切换上的便利性体验 在一个持续数月的研发项目中,我们构建了一个需要集成…...
【技术解析】从点测量到全场感知:DIC三维应变测量如何革新传统应变片测试范式
1. 从点到面的技术革命:为什么我们需要全场应变测量? 记得我第一次接触材料力学测试时,导师让我用传统应变片测量一块铝合金板的拉伸变形。我花了整整三天时间,在试样上贴了二十多个应变片,结果数据还是支离破碎。那时…...
阿里2026最新Spring全家桶学习笔记全网首次公开!
最近小伙伴在我后台留言是这样的: 现在就这光景,不比以前,会个CRUD就有人要,即使大部分公司依然只需要做CRUD的事情......现在去面试,只会CRUD还要被吐槽: 面试造火箭,工作拧螺丝,就…...
