逻辑漏洞:支付逻辑漏洞

目录

1、直接修改商品的价格

2、修改支付状态

3、修改商品数量

4、另类支付

5、修改支付接口

6、重复支付

7、最小支付和最大支付

8、越权支付

9、无线次试用

10、线程并发问题


前两天学习了逻辑漏洞中的越权漏洞,今天开始学习支付逻辑漏洞,这里还是参考大佬总结的文章进行学习

声明:本篇中的案例都是别的大佬总结好的,我只是进行学习+练习

1、直接修改商品的价格

在支付过程中,购买商品一般分为三个步骤:订购确认信息付款,那么这个修改价格具体时修改那一步时的价格?

在我看来你可以在这三个步骤中随便一个步骤进行价格的修改,进行测试,如果前面两步有验证机制,那么你可在最后一步付款进行抓包尝试修改金额,如果没有在最后一步做好检验,那么问题就会存在,其修改的金额值,你可以尝试小数目或者负数,去测试;

这里以大佬写了M1905的一个逻辑漏洞文章来学习一下,但是都是以前的案例,没有办法复现,这里就直接列出大佬的文章进行学习:

M1905价值2588套餐只要5毛钱(拥有后台权限可自己审核订单) | wooyun-2016-0226613| WooYun.org

中国国旅一元买任意张数旅游票(支付逻辑漏洞) | wooyun-2015-0112258| WooYun.org

淘宝网某处存在严重支付漏洞 | wooyun-2012-07293| WooYun.org

看我如何1块钱买价值3999块钱的嗨镜(京东众筹破2百万)支付漏洞 | wooyun-2016-0215059| WooYun.org

2、修改支付状态

这里首选就是需要下载大米CMS,详细步骤就不演示了

下载地址:大米CMS|大米CMS v6.1.8下载_网站源码 - 站长源码 (chinaz.com)

下载完成后,在浏览器访问即可进行安装:

安装完成后,就可以看到一下页面:

修改支付状态就很好理解,比如网页的状态:

200 就是正常存在,404就是网页不存在

支付状态也是,1/200/true就是支付成功,0/404/false就是支付失败

如果我们在支付状态为0时抓包将值修改为1是否就可以绕过支付,直接白嫖呢?

另外一种思路就,有我们去购买A商品,是10元,B商品是1000元,我们先购买A商品,将A商品的数据包,给B商品,那么我们就能通过10元购买10000元的商品呢?

下面就用大米cms进行实操一下:

我们在逛大米商城的时候看上了一个价值5400元的大米手机,然后进行支付

在提交订单的同时进行抓包,将数据包记录下来:

然后再去对一个价值4000元的手机执行相同的操作:

然后我们重新再购买5400手机支付时进行抓包,然后将数据包修改为4000的看看:

可以看到成功的访问到了4000的页面

3、修改商品数量

在购买商品时,我们可以选择商品的数量,正常都是1,2,3...,那么我们如果输入一个负值会怎么样呢?

下面还是在大米CMS中实操一下:

还是在购买商品时抓包

通过观察发现这个gty应该就是商品的数量我们可以尝试更改一下:

更改为100

更改为-1

可以看到值修改数量为负数,那么这样提交订单是不是还得给我反点钱!

4、另类支付

我们在支付的时候,常常会给你一些优惠卷,积分,满减等等,而这些值同样都是有操作的空间

1)修改优惠卷

一般优惠卷进行消费往往出现在第二个步骤当中,确认购买信息,这个页面当中,你可以选择相关的优惠卷,我们直接修改优惠卷的金额,等于商品的价格,或者直接将其改为负数,最后进行支付,如果说没有对这个点加以验证,那么直接可以支付成功;

2)修改优惠卷金额及业务逻辑问题

当你修改其优惠卷值为任意值或负数想要支付的时候,会显示支付失败,或者金额有误等一些提示,可能这个时候,你会选择放弃,但是当你点开个人中心的时候,点击订单详情,如果存在这个逻辑问题,那么此时在你刚刚修改优惠卷金额后点击下一步支付的时候,其实已经产生了订单,在订单的金额内,你可以看到支付金额为0,然后点击支付就可以支付成功;

这里还有一个小技巧,有可能会支付失败,但是如果你找到的这个问题是一个业务分站点,如果有自带的钱包功能,那么你就可以利用这个自带的钱包功能去支付这个订单,而不要利用其他支付类型,就可以支付成功了;

3)修改积分金额

有些网站的积分,比如你消费了多少,就可以拥有一定量的积分,这个积分可以在你付款的时候进行折扣,如果这个积分的金额没有做好校验,那么你在支付当中将积分减去的金额变成商品本身的价格,或者负数,是不是就可以产生0原购物了;

4)满减修改

我们在双十一的时候,很多会有满300减100,这种功能,我们能不能将金额修改为满101减100那?

参考案例:

看我如何成为凤凰书城最富有的用户 | wooyun-2016-0214319| WooYun.org

东吴人寿商城积分支付漏洞(一秒成就中东大土豪) | wooyun-2015-0156253| WooYun.org

锦江之星积分兑换逻辑错误(支付漏洞) | wooyun-2015-0139556| WooYun.org

新东方逻辑支付漏洞 | wooyun-2013-019761| WooYun.org

5、修改支付接口

一些网站支持多种支付的接口,微信,支付宝,还有第三方的支付工具,然后每一个接口的值不一样,如果逻辑设计不当,那我随便选择一个点击时进行抓包,然后修改为一个不存在的支付接口,如果接口的相关处理没有做到位,是不是会支付成功;

6、重复支付

淘宝,京东会有很多试用卡。一张卡可以试用一个商品,我们可以将这个试用的商品数据包多次重复提交,如果服务端没有进行严格的校验的话,就会产生很多这样的订单,这时候,我们将这个商品退掉,会怎么样?我们会不会退回很多试用卡?

实例:

https://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2012-05173

https://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2011-03009

7、最小支付和最大支付

1)最小支付

很多测试人员在测试漏洞的时候,往往会将金额修改为0.01或者负数,但这这样会很容易错失掉一些潜在的漏洞,比如一些网站有金币或者积分什么的支付的时候可以用这些来支付,10元等于100积分,50元相当于500积分,这个问题如果你在充值的时候将金额修改为0.01和负数会显示支付失败,但是如果你修改金额为1元,那么支付就会成功,也就是说1可以购买任意积分了?

其实你在测试的时候,就会发现,1元对应10积分,如果你修改0.01,那么对应的积分就是null,所以会显示失败,而当你修改为1元支付接口时存在的,其后面积分数为其他金额的积分,然后跳转过去支付就会以1元购买到比它多得多的积分,也可以时任意积分;

2)最大支付

一般在开发当中,商品的金额都会用int型来定义,最大值2147483647,我们尝试修改为2147483648,看看是否能造成整数的溢出,有可能支付状态异常,从而导致支付成功;

8、越权支付

这个问题很早之前就有了,现在很少存在这类问题,在支付当中会出现当前用户的ID,比如ID=1,我们将ID改为2,如果没有加以验证,我们是不是用用户2的钱支付了用户1买商品的钱;

实例:奇安信攻防社区-一次信息泄露到越权支付的实战

9、无线次试用

一些网站的一些商品,比如云系列产品支持试用,试用时期一般为7天或者30天,一个账户只能试用一次,试用期间不能试用,但如果这个试用接口没有做好分配,那么很容易产生漏洞,比如支付的时候它的URL后面的支付接口为3,那么此时就会调用购买支付接口,但是由于你本身这个产品就是试用的,其相应值绑定了这个试用的产品,那么金额肯定是0,那么最后点击支付,你就可以看到支付成功,试用成功,又重复的试用了一次,然后他们的使用时间会累加到一起,这就导致了可无限制购买任何产品了;

10、线程并发问题

多线程并发问题就是没有实时的处理各种状态所导致的问题,比如很多平台都有自家的钱包,而这个钱包是一个迷你钱包,这个钱包作用也仅是用于当前这个平台网站,再提现的时候,没有做任何的验证码或者校验机制,只要输入金额就可以体现,并且是秒到账,如果是什么负数,修改金额都测试了,不行的话,那你就可以实试一试多线程并发问题,体现的时候进行抓包,比如我现在钱包内有0.1元,那么按照每提0,01元可以提10次的话,也就是发送10次进程,但是利用这个问题可以达到多打几次成功的进程,体现时进行抓包,然后把数据包发送到BurpSuite工具的Intruder当中,进行批量发送12次,然后可以看到成功体现12次,也就是0.12元,从这里就可以看出这个问题的危害了,当然此时账户的金额肯定是为负的了,如果把这个提现金额变大,那么这多提现的金额可不是闹着玩的。

当然,多线程也可以在其它功能处进行测试,比如我之前讲到的试用商品问题,就可以通过多线程进行多几次的使用,比如利用积分总换礼品,一个账户只能进行总换一次,利用这个问题,可以多几次总换,一些转账功能,提现功能,购买功能等等很多。

支付逻辑漏洞的学习就暂时到此结束,后面有更对实操案例再来分享给大家(*^▽^*)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/6062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据分析--客户价值分析RFM(分箱法/标准化)

原数据 原数据如果有异常或者缺失等情况,要先对数据进行处理 ,再进行下面的操作,要不然会影响结果的正确性 一、根据RFM计算客户价值并对客户进行细分 1. 数据预处理 1.1 创建视图存储 R、F、M的最大最小值 创建视图存储R 、F、M 的最大最小…

Sublime Vim模式配置:q关闭当前标签页

在Sublime安装目录下的->Packages文件夹下新建User文件夹创建文件Vintage.sublime-commands 路径为Sublime安装目录->Packages->User->Vintage.sublime-commands文件内容如下[{"caption": ":w - Save","command": "save"}…

淘宝新店铺一般多久开始有单

淘宝新店铺一般多久开始有单 淘宝推广可以使用3an推客。3an推客(CPS模式)给商家提供的营销工具,由商家自主设置佣金比例,激励推广者去帮助商家推广商品链接,按最终有效交易金额支付佣金,不成交不扣费。是商…

堆排序以及TOP-K问题

片头 嗨!小伙伴们,大家好!今天我们来深入理解堆这种数据结构,分析一下堆排序以及TOP-K问题,准备好了吗?我要开始咯! 一、堆排序 这里我们先假设要排成升序,也就是从左到右&#xf…

【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 删除并获得点数(难度⭐⭐)(70)

1. 题目解析 题目链接:740. 删除并获得点数 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 问题分析 本题是「打家劫舍」问题的变种,但核心逻辑依然保持一致。题目要求从给定的数组nums中选择…

【面试经典 150 | Kadane】环形子数组的最大和

文章目录 写在前面Tag题目来源解题思路方法一:求最大非空子数组和最小子数组和 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及…

C++:输入输出运算符重载

在C中,输入输出运算符是用于从标准输入设备(通常是键盘)读取数据或将数据输出到标准输出设备(通常是屏幕)的运算符。常用的输入输出运算符包括: 输入运算符 (>>): 用于从输入流&#xff0…

逻辑漏洞:水平越权、垂直越权靶场练习

目录 1、身份认证失效漏洞实战 2、YXCMS检测数据比对弱(水平越权) 3、MINICMS权限操作无验证(垂直越权) 1、身份认证失效漏洞实战 上一篇学习了水平越权和垂直越权的相关基本知识,在本篇还是继续学习,这…

深度学习:基于Keras,使用长短期记忆人工神经网络模型(LSTM)对股票市场进行预测分析

前言 系列专栏:机器学习:高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目,每个项目都处理一组不同的问题,包括监督和无监督学习、分类、回归和聚类,而且涉及创建深度学…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《计及高阶方程分段线性化的港口电-氢综合能源系统优化调度》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

clang:在 Win10 上编译 MIDI 音乐程序

先从 Microsoft C Build Tools - Visual Studio 下载 1.73GB 安装 "Microsoft C Build Tools“ 访问 Swift.org - Download Swift 找到 Windows 10:x86_64 下载 swift-5.10-RELEASE-windows10.exe 大约490MB 建议安装在 D:\Swift\ ,安装后大约占…

SQL 基础 | UNION 用法介绍

在SQL中,UNION操作符用于合并两个或多个SELECT语句的结果集,形成一个新的结果集。 使用UNION时,合并的结果集列数必须相同,并且列的数据类型也需要兼容。 默认情况下,UNION会去除重复的行,只保留唯一的行。…

Flutter笔记:使用Flutter私有类涉及的授权协议问题

Flutter笔记 使用Flutter私有类涉及的授权协议问题 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.cs…

【跟马少平老师学AI】-【神经网络是怎么实现的】(七-1)词向量

一句话归纳: 1)神经网络不仅可以处理图像,还可以处理文本。 2)神经网络处理文本,先要解决文本的表示(图像的表示用像素RGB)。 3)独热编码词向量: 词表:{我&am…

ensp 配置s5700 ssh登陆

#核心配置 sys undo info-center enable sysname sw1 vlan 99 stelnet server enable telnet server enable int g 0/0/1 port lin acc port de vlan 99 q user-interface vty 0 4 protocol inbound ssh authentication-mode aaa q aaa local-user admin0 password cipher adm…

Java集合框架-容器源码分析

Java集合框架-容器&源码分析 文章目录 Java集合框架-容器&源码分析[TOC](文章目录)前言一、集合框架概述二、Collection接口及其子接口(List/Set)及实现类2.1 Collection接口中方法2.2 遍历:Iterator迭代器接口&foreach(5.0新特性)2.3 Connection子接口…

SQL 基础 | AS 的用法介绍

SQL(Structured Query Language)是一种用于管理和操作数据库的标准编程语言。 在SQL中,AS关键字有几种不同的用法,主要用于重命名表、列或者查询结果。 以下是AS的一些常见用法: 重命名列:在SELECT语句中&a…

C++深度解析教程笔记7

C深度解析教程笔记7 第13课 - 进阶面向对象(上)类和对象小结 第14课 - 进阶面向对象(下)类之间的基本关系继承组合 类的表示法实验-类的继承 第15课 - 类与封装的概念实验-定义访问级别cmd 实验小结 第16课 - 类的真正形态实验-st…

Web,Sip,Rtsp,Rtmp,WebRtc,专业MCU融屏视频混流会议直播方案分析

随着万物互联,视频会议直播互动深入业务各方面,主流SFU并不适合管理,很多业务需要各种监控终端,互动SIP硬件设备,Web在线业务平台能相互融合,互联互通, 视频混流直播,录存直播推广&a…

c++ 筛选裁决文书 1985-2021的数据 分析算法的差异

c cpp 并行计算筛选过滤 裁决文书网1985-2021 的300g数据 数据 数据解压以后大概300g,最开始是使用python代码进行计算,但是python实在太慢了,加上多进程也不行, 于是 使用c 进行 计算 c这块最开始使用的是 i7-9700h 用的是单线…