【web安全】支付篡改

前言

菜某的总结,如有错误和补充欢迎评论指正。

内容仅供学习使用,切勿用于非法用途。

支付篡改的存在位置与影响

首先他的危害不言而喻,几乎任何一个拿出来都能给企业带来巨大的损失。

他出现的地方也是十分的广泛,从某种意义来说,只要支付的功能越丰富,支付的种类越繁多,出现漏洞的几率都会越大。什么优惠卷,先到后付,现付,支付宝付款,微信付款,绑定卡号呀,活动抵消多少钱呀什么的,这种支付的功能全都可能产生支付的安全问题。

虽然主流的支付平台等的支付是相对安全的,但是如果用语法搜索一下,很多公司都会搭建自己的小网站去售货,这些网站的支付就非常的脆弱了,很容易出现一些漏洞。

支付篡改的挖掘

这种漏洞一般去看数据包就可以实现,一般传送数据包的话就会出现一些参数可以进行修改,修改几下看看付款页面是否出现变化就可以。

可进行篡改的支付内容

首先要提一句,有可能在数据包中是找不到一些参数的,比如某些固定的参数,如价格呀什么的,可能不会出现在数据包中,他们可能直接就在数据库中了,还有可能是用编号代替的,主要是连续二到三次选择数量,和商品种类,去辨别一下数据包的变化,有条件同一个商品点两下辨别一些类似于token或者验证码的随机生成的参数的干扰。

修改商品价格

这个是最常见的,但是我们买物品是有很多步骤的,我们可以在任意的位置进行数据包的修改,比如我们可以在选择商品环节进行价格篡改,也可以在最后的支付环节进行支付篡改。总之就是看他哪里没有验证就篡改哪里。

修改支付数量

数据包中也可能会有支付数量的数据包,一般是在选则商品之后,在支付之前。就是那个共计多少元的位置。建议抓两个不同数量的数据包对比一下,根据数据包去判断哪个参数是关于支付数量的,支付数量一般是都会发送数据包,因为这个是不确定的,但是他可能会检测数据库的存活,不要搞得太花。

值得注意的是

这个地方有时候可以尝试把数量改为负数,有的是可以白嫖的。

修改订单ID

商品都有一个订单号,有时候先弄一个比较贵的商品,然后再写一个比较便宜些商品,把便宜商品的数据包改为贵的商品的数据包就可以实现用便宜商品的价格买贵的商品

修改商品号

跟修改订单ID同理,可以用别的价钱进行购买。

修改支付状态

我们有一定概率能够抓到支付状态的数据包,支付状态是用来判断支付是否成功的。我们可以把类似的0改为1,这类似的操作实现支付成功。

修改支付方式

他经常会有一些第三方的接口,例如微信支付,支付宝支付。

这个有点类似于ssrf,我们可以修改支付接口,让他指向我们自己的支付接口,从而实现自己给自己打钱。

其他支付功能的修改

有些支付功能比较多,类似于积分,优惠卷,打折等功能,都会存在被修改的风险。

1.优惠价格修改

2.修改积分

使用方法都是类似用抓包的方式去查看

越权支付

通俗理解:我让别人给我付钱

当然有些支付功能有找人付这种功能也有可能找到安全问题。

有时候数据包中会有一个user这类的参数,那就可以修改来实现别人付款。

(因为有些是第三方付款,有些网站是有自己的钱包的,这类的就不太会扫码支付,就容易实现这样的安全问题)

修改试用期

1.一种情况,他的试用3天日期接口为2,7天接口为3,购买接口为1.那么有时候改掉接口就会变成永久使用了

2.可能他直接就是发的明文参数,直接改个99999无限使用

多线程的问题

用于那种提现的环节。

通俗理解,就是提现的次数比实际的能体现的次数多。

比如我有100元,一次10元能提现10次,但是我快速多次发送提现能提14次,这种就是多线程问题。

案例演示

假设现在有一个网站,在售卖物品

买女友。

 

(图片仅供好玩,本靶场用不着这么多,他没商品号)

首先我们抓取购买女友的数据包

看到类似与数量和价格的参数,直接改了就行了

订单界面

完成女友便宜卖了。

值得注意的是,这是订单界面整个界面

下面还会发数据包

这个也可以改

当然这个靶场比较简单,实际有的改了不可以,需要把数量改成负数才可以,或者接口等。需要多打靶场实战练习。

(说实话,我一般不敢找这种支付的漏洞,怕出事)

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

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

相关文章

复杂背景下的低空无人机检测与跟踪算法

doi:10.11884/HPLPB202335.230026 大视场中的目标丢失后需要再次检测,但是大视场的检测比较耗时。但是根据实验发现丢失目标通常发生在无人机运动区域的320x320范围内,所以设计辅助网络,当目标丢失后,以320x320区域图像…

Transformer Decoder的输入

大部分引用参考了既安的https://www.zhihu.com/question/337886108/answer/893002189这篇文章,个人认为写的很清晰,此外补充了一些自己的笔记。 弄清楚Decoder的输入输出,关键在于图示三个箭头的位置: 以翻译为例: 输…

七轴开源协作机械臂myArm视觉跟踪技术!

引言 ArUco标记是一种基于二维码的标记,可以被用于高效的场景识别和位置跟踪。这些标记的简单性和高效性使其成为机器视觉领域的理想选择,特别是在需要实时和高精度跟踪的场景中。结合机器学习和先进的图像处理技术,使用ArUco标记的机械臂系统…

20231218在Ubuntu18.04下以EXT4格式化HDD

20231218在Ubuntu18.04下以EXT4格式化HDD 2023/12/18 17:24 缘起: 编译一个Android10大概要200GB,编译10个Android10的SDK,3TB的HDD机械硬盘就估计会被填满了! 如果使用rm -rf *这个命令将SDK一个一个逐个地删除,估计2…

数据可视化(附带操作实例)

一、主要目的: 数据可视化是关于图形或表格的数据展示,旨在借助图形化手段,清晰有效的传达与沟通信息。通过直观地传达关键内容与特征,从而实现对相当稀疏而又复杂的数据集的深入洞察。熟悉在Python开发环境中支持数据可视化环节…

mybatis.interceptor.exception.SqLValidateException:Ilegal SQL::......

现象:⬇️ 描述:执行 SQL 没问题,应用代码报错 ⬇️ .mybatis.interceptor.exception.SqLValidateException:Ilegal SQL::SELECT voucherNo FROM voucher ORDER BY CAST(SUBSTRING(voucherNo FROM LOCATE(_, voucherNo) 1) AS U…

力扣刷题记录(15)LeetCode:509、70、746

目录 509.斐波那契数 70.爬楼梯 746.使用最小花费爬楼梯 总结 ​​​​​​ 用一个数组来存储前两个数的值&#xff0c;然后根据前两个数的值来确定当前的值。 class Solution { public:int fib(int n) {if(n<2) return n;vector<int> v;v.push_back(0);v.push…

ELK(九)—logstash

目录 简介安装部署测试 配置详解编写配置文件连接elasticsearch将数据推送到elasticsearch中。 简介 Logstash 是一个开源的服务器端数据处理管道&#xff0c;由 Elastic 公司维护和开发。它被设计用于从不同来源收集、处理和转发数据&#xff0c;以供 Elasticsearch 进行存储…

持续集成交付CICD:Jenkins使用GitLab共享库实现前端项目镜像构建

目录 一、实验 1. GitLab修改项目文件与Harbor环境确认 2.Jenkins使用GitLab共享库实现前端项目镜像构建 3.优化CI流水线封装Harbor账户密码 4.Jenkins再次使用GitLab共享库实现前端项目镜像构建 一、实验 1. GitLab修改项目文件与Harbor环境确认 &#xff08;1&#xf…

掌握 Babel:让你的 JavaScript 与时俱进(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

npm简介与使用指南

一、什么是npm? npm&#xff0c;全称为Node Package Manager&#xff0c;是Node.js的包管理器。它允许开发者分享和重用代码&#xff0c;提供了一个巨大的开源库供开发者选择和使用。通过npm&#xff0c;你可以轻松安装、更新和管理Node.js的库和工具。 二、npm的主要功能 …

Java对象结构

Java 对象(Object 实例)结构包括三部分:对象头、对象体、对齐字节。 Object的三个部分 对象头包括三个字段&#xff0c;第一个字段叫做 Mark Word(标记字)&#xff0c;用于存储自身运行时的数据 例如 GC 标志位、哈希码、锁状态等信息。 第二个字段叫做 Class Pointer(类对象…

2024免费mac苹果电脑系统电脑管家CleanMyMac X

macOS已经成为最受欢迎的桌面操作系统之一&#xff0c;它提供了直观、简洁的用户界面&#xff0c;使用户可以轻松使用和管理系统。macOS拥有丰富的应用程序生态系统&#xff1b;还可以与其他苹果产品和服务紧密协作&#xff0c;如iPhone、iPad&#xff0c;用户可以通过iCloud同…

2023_Spark_实验二十八:Flume部署及配置

实验目的&#xff1a;熟悉掌握Flume部署及配置 实验方法&#xff1a;通过在集群中部署Flume&#xff0c;掌握Flume配置 实验步骤&#xff1a; 一、Flume简介 Flume是一种分布式的、可靠的和可用的服务&#xff0c;用于有效地收集、聚合和移动大量日志数据。它有一个简单灵活…

缓存击穿的原因和解决方案

缓存击穿 原因&#xff1a;一个被高并发访问并且缓存重建业务较复杂的key突然失效了&#xff0c;无数的请求访问会在瞬间给数据库带来巨大的冲击 解决方案 1.互斥锁 优点 没有额外的内存消耗保证一致性实现简单 缺点 线程需要等待&#xff0c;性能受影响可能有死锁风险 …

vue 历程记

目录 前言一、源码优化1、vue3.x 采用 monorep 的理念来管理源码2、vue3.x 源码采用 TypeScript 开发 二、性能优化1、减少源码的体积2、数据劫持优化3、编译优化&#xff08;1&#xff09;、编译粒度的优化 三、语法 API 的优化1、优化了编码的逻辑组织2、优化了代码的逻辑复用…

webpack学习-6.缓存

webpack学习-6.缓存 1.前言2.输出文件的文件名3. 提取引导模板4.模块标识符5.总结 1.前言 webpack 会在打包后生成可部署的 /dist 目录&#xff0c;并将打包后的内容放在此目录。一旦 /dist 目录中的内容部署到服务器上&#xff0c;客户端&#xff08;通常是浏览器&#xff09…

Linux操作系统:自由、稳定、强大的开源之光

导言 Linux操作系统作为一个开源的、多用户、多任务、支持多线程和多CPU的UNIX类操作系统&#xff0c;不仅在服务器领域占有显著份额&#xff0c;也逐渐在桌面和嵌入式系统中崭露头角。Linux操作系统的多样性体现在各种不同的发行版上&#xff0c;而Ubuntu、CentOS和Red Hat可以…

C# WPF上位机开发(进度条操作)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 软件上面如果一个操作比较缓慢&#xff0c;或者说需要很长的时间&#xff0c;那么这个时候最好添加一个进度条&#xff0c;提示一下当前任务的进展…

SQL进阶理论篇(十一):什么是MVCC?

文章目录 简介什么是MVCC快照读与当前读悲观锁的问题示例参考文献 简介 在MySQL中&#xff0c;默认的隔离级别是可重复读&#xff0c;可以解决脏读和不可重复读的问题&#xff0c;但不能解决幻读问题。如果想要解决幻读问题&#xff0c;就需要采用串行化的方式&#xff0c;通过…