目录

一、简介:

二、原理:

2.1、支付成功原理:

2.1.1、浏览器跳转:

2.1.2、服务器端异步通知:

三、漏洞产生的原因:

3.1、订单金额的验证:

3.2、不安全的传输:

3.3、验证规则不完整:

四、危害:

五、环境准备:

六、利用过程:

6.1原理:

6.2修改支付价格

6.2.1、第一步:尝试在订购过程中修改

6.2.2、第二步:尝试在生成订单过程修改

6.2.3、第三步:付款截断尝试修改

6.3、扩展:

6.4、修改支付状态

6.4.1、原理:

6.5、 修改购买数量

6.5.1、原理:

6.6、 修改优惠券、积分

6.6.1、原理:

6.7、修改支付接口

6.7.1、原理:

6.8、交叉替换支付

6.8.1、原理:

6.9、无限制试用

6.9.1、原理:

6.10、最小支付额限制

6.10.1、原理:

6.11、最大值支付问题

6.11.1、原理:

6.12、试用接口问题

6.12.1、原理:


(切莫因所的处环境,蒙蔽了双眼)


一、简介:

支付漏洞(业务逻辑漏洞)

使用burpsuite等抓包工具,抓取数据包后,修改数据包中的参数从而达到支付篡改的目的

篡改的参数:商品ID,购买价格,购买数量,手机号码,订单ID,支付状态……

常见漏洞利用手段:替换支付,重复支付,最小额支付,负数支付,溢出支付,优惠卷支付……


二、原理:

2.1、支付成功原理:

购物平台接入支付结果的两种方式:

浏览器进行跳转通知购物平台支付成功

服务器端异步通知支付成功

2.1.1、浏览器跳转:

用户访问的浏览器,并在银行页面支付成功后(银行会返回一个支付成功数据包),使得从银行支付跳转到支付成功结果页面(购物平台页面),购物平台网站就将收到支付成功通知。

可能出现的问题:

在银行界面支付成功后未等待返回跳转数据包,就关闭了页面(购物平台收不到支付成功信息)

在浏览器接收的数据容易被篡改(因为中间多了一个用户)

2.1.2、服务器端异步通知:

(少了一个用户)

当支付成功以后,支付公司服务器直接向用户指定的异步通知URL发送参数,购物平台接收异部参数的URL对应的程序中,对返回的支付结果进行签名验证成功后,进行支付逻辑处理(验证金额、订单信息,支付时间……)

大多数都使用服务器端异步通知


三、漏洞产生的原因:

3.1、订单金额的验证:

价格未保存在数据库中

未校验商品价格与数据库中是否匹配

3.2、不安全的传输:

对订单相关信息未进行加密传输

(话说你加密的地方一定是重要地方,你不加密,你就是有病,哈哈哈)

3.3、验证规则不完整:

订单号与用户未进行绑定


四、危害:

顾名思义了,老表

修改商品的价格、修改订单号、修改订单的数量、修改支付状态值……


五、环境准备:

(2021年版的购物平台,存在支付漏洞的可能性很小,但是不妨碍试验)

我找的购物系统

链接:https://pan.baidu.com/s/13U9ys493l-nHsbC-8xFk7Q?pwd=hj12 
提取码:hj12


六、利用过程:

6.1原理:

支付流程:提交订购信息------生成订单------付款

在每一步流程之间,如果没有做好验证机制,篡改将会被成功执行

在这三个步骤中,只要有一个能抓包修改,就将达成目的

6.2修改支付价格

6.2.1、第一步:尝试在订购过程中修改

goolds(物品的英文单词)id(编号)Spec(规格)Num(数量)type(类型)

goodsId=82&goodsSpecId=49&buyNum=1&type=1&rnd=0.5643189757982099

请求数据包改为3的话,他的实际价格应该会跟着变

上面那个数据包发出后,就显示添加成功

说明上面那个传参就是对应的商品编号,价格,数量……

第一步完了,他的价格跟着数量变了,失败啦

6.2.2、第二步:尝试在生成订单过程修改

能发现的基本信息

pkey秘钥

没有抓到什么有用信息,失败啦

6.2.3、第三步:付款截断尝试修改

抓住数据包了,发现没地方让我来改

这个地方的支付密码是明文传输的

虽然还是失败了,但是也有所发现


6.3、扩展:

既然都是越权,那我们来换一个方法

对管理员功能分析

可以添加用户在本平台的金额

如果能获得这个操作的URL,尝试越权修改

(这个要看cookie的验证完不完全)

知道修改的URL后,就要看对cookie的验证完不完全了

这个是我拦截的普通用户的cookie

这个是管理员执行操作的cookie

换为用户的cookie后进行尝试修改

发现操作成功了

说明对cookie的验证不完全


6.4、修改支付状态

6.4.1、原理:

如果支付状态的值未和实际订单支付状态进行校验,攻击者点击支付时抓包修改支付状态的参数为支付状态的值就能实现修改支付状态

6.5、 修改购买数量

6.5.1、原理:

抓包并修改商品的数量,如果修改数量后,总价格没有跟随数量的变化而变化;再者将数量修改为负数,如果总价格跟着变为负数。这二种可能都导致支付问题的产生

6.6、 修改优惠券、积分

6.6.1、原理:

根据优惠券的使用条件方式,尝试修改优惠劵金额、商品价格、折扣程度等

6.7、修改支付接口

6.7.1、原理:

因为支付肯定会有提供很多支付平台供用户选择,每个支付接口的值肯定是不一样的,如果支付的逻辑存在漏洞,或者接口相关处理存在不足,此时对支付过程抓包,将支付接口修改为不存在的接口,等待平台的支付处理结果(一般不可能了)

6.8、交叉替换支付

6.8.1、原理:

顾名思义,选择2个不同商品,分别产生两个订单支付,对其都进行抓包,修改其订单一的值为订单二的值,如果平台没有验证商品相关信息和用户应支付价格,就可以尝试用订单二的支付价格去买到订单一的商品,因此产生了替换支付。

6.9、无限制试用

6.9.1、原理:

试用类商品,如果产生多个订单并进行提交的校验,那么就可导致无限制刷牌子,每次提交的订单号不一样,相当于对同一个商品的多次试用的订单,如果存在逻辑漏洞的话,假设你全部申请退出试用,那么就会退相应数量的试用资格到你用户

6.10、最小支付额限制

6.10.1、原理:

最小支付额是平台对支付价格的一个限制规则,当恶意修改支付价格后,如果支付价格小于最小支付额,会导致支付失败等问题(失败不代表不存在漏洞,可能是价格改的太小了)

6.11、最大值支付问题

6.11.1、原理:

当支付值过大,超过逻辑处理规则(即存在支付逻辑漏洞),可将支付价格、优惠券等尝试修改为最大值,并观察支付结果的变化。

6.12、试用接口问题

6.12.1、原理:

毋庸置疑,对于产品的试用,一个账户一般只能试用一次,如果接口1是试用接口,接口2是支付接口,如果抓包后将接口改为接口2,如果接口存在逻辑处理问题,以试用价格去支付,就是可能为0元。

(34.2)【支付漏洞专题】漏洞原理、产生、环境、篡改数据过程、漏洞利用……相关推荐

  1. oracle中间人投毒漏洞,Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)的完美解决方法...

    环境:Windows 2008 R2 + Oracle 10.2.0.3 应用最新bundle patch后,扫描依然报出漏洞 Oracle Database Server 'TNS Listener ...

  2. 信安教程第二版-第13章网络安全漏洞防护技术原理与应用

    第13章 网络安全漏洞防护技术原理与应用 13.1 网络安全漏洞概述 243 13.1.1 网络安全漏洞概念 243 13.1.2 网络安全漏洞威胁 243 13.1.3 网络安全漏洞问题现状 244 ...

  3. 【第13章】网络安全漏洞防护技术原理与应用(信息安全工程师 )-- 软考笔记

    第13章 网络安全漏洞防护技术原理与应用 13.1 网络安全漏洞概述 13.1.1 网络安全漏洞概念 网络安全漏洞又称为脆弱性,简称漏洞.漏洞一般是致使网络信息系统安全策略相冲突的缺陷,这种缺陷通常称 ...

  4. (39.1)【XML漏洞专题】必备的基础知识、利用原理、构建规则

    目录 一.简介: 二.XML与HTML 三.XML原理: 3.1.XML特点: 3.2.XML构建模块: 3.3.实体引用 3.4.XML可解析的协议 3.5.实体 3.5.1.参数实体: 3.5.2 ...

  5. (39.2)【XXE漏洞专题】XXE原理、产生、检测、危害、利用、示例

    目录 零.推荐: 一.简介: 二.原理: 三.产生的原因: 四.漏洞检测: 4.1.白盒: 4.1.1.函数/可控变量的查找 4.1.2.传输/存储数据格式类型 4.2.黑盒: 4.2.1.数据格式类 ...

  6. (32)【文件下载漏洞专题】Filedownload原理、漏洞出现、危害、漏洞利用……

    目录 一.前言: 二.简介: 三.原理: 四.产生的原因: 五.漏洞出现地方: 5.1.功能上出现: 5.2.链接上出现: 5.3.参数上出现爱: 六.危害: 七.相关漏洞: 八.系统文件路径 8.1 ...

  7. 常见漏洞知识库(原理/场景/修复)

    Jsonp漏洞 0x01 漏洞描述 1. 一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面.动态网页.web服务.WCF,只要是跨域请求,一律不准. 2. 不过我 ...

  8. android 动画 最顶层_【Android编程实战】StrandHogg漏洞复现及原理分析_Android系统上的维京海盗...

    0x00 StrandHogg漏洞详情 StrandHogg漏洞 CVE编号:暂无 [漏洞危害] 近日,Android平台上发现了一个高危漏洞 该漏洞允许攻击者冒充任意合法应用,诱导受害者授予恶意应用 ...

  9. 常见十大漏洞总结(原理、危害、防御)

    弱口令 产生原因 与个人习惯和安全意识相关,为了避免忘记密码,使用一个非常容易记住 的密码,或者是直接采用系统的默认密码等. 危害 通过弱口令,攻击者可以进入后台修改资料,进入金融系统盗取钱财,进入O ...

最新文章

  1. html中使用地图和area,根据参数对area的颜色进行改变,AE考试题
  2. 表格单元格中的CSS文本溢出?
  3. 2014/12/05 随笔 2014-12-05 12:50 26人阅读 评论(0) 收藏...
  4. Spring手动回滚事务
  5. PHP面向对象之旅:抽象类继承抽象类(转)
  6. 浪潮网上测评没通过_快钱通过等保2.0认证 稳守用户资金信息安全
  7. Python学习二:词典基础详解
  8. VB打开资源管理器并指定文件
  9. awk取列 shell 读文件_大厂运维高手如何打造核心竞争力?这些Shell命令合集得知道!...
  10. Utility Lambda
  11. android 第三方圆弧进度条,Android 圆弧进度条 水平进度条 水波进度条
  12. 虚拟机 VMware 16安装教程
  13. 【博客33】使用 “NVI“解决缺省参数绑定问题
  14. 酷桌面:IPAD上体验office的炫“酷”移动办公应用
  15. Pikachu靶场暴力破解通关
  16. 第一代基因测序信号处理技术
  17. ElasticSearch7.x 从部署到开发
  18. 第一类公民(First-class Citizen)
  19. 解决报错Process finished with exit code -1073741571 (0xC00000FD),修改栈大小
  20. 计算机开机加载后进入不了xp,电脑开机启动后到xp画面后不断自动重启解决方法...

热门文章

  1. MySql__为用户赋于主从同步的权限
  2. sql按时间取去重最近_sql 去重排序及 java分页
  3. 当你的兴趣成为了职业
  4. npm不是内部命令在 win10下的解决办法
  5. 有了死链接需不需要及时处理,怎么处理?
  6. log.error()打印内容区别
  7. Linux下配置jdk11
  8. 理性的经济人,成就不了罗密欧与朱丽叶!(深刻)
  9. echarts 地图展示数据错误/中国地图显示异常
  10. yolov5中修改fitness