做网站 花时间蚌埠注册公司
2026/4/18 0:07:57 网站建设 项目流程
做网站 花时间,蚌埠注册公司,网站建设与维护课难吗,咚门wordpress字字经典#xff0c;本文以上帝视角#xff0c;带你洞察整个主流支付功能背后的逻辑#xff0c;之后再轻挥衣袖#xff0c;实现降价支付#xff01; 前言 记录一次支付逻辑漏洞挖掘#xff0c;这个支付漏洞很细#xff0c;能挖出来需要十分细心和耐心#xff0c;一点点…字字经典本文以上帝视角带你洞察整个主流支付功能背后的逻辑之后再轻挥衣袖实现降价支付前言记录一次支付逻辑漏洞挖掘这个支付漏洞很细能挖出来需要十分细心和耐心一点点看数据包不然真的非常容易漏下实际上这个漏洞的出现就是由于在确定订单价格时后端数据校验缺失导致的。这是一个新能源汽车充电小程序出现问题的功能时购买电池的功能点一开始选择购电可以选择购买30度50度80度。不同电量对应了不同的价钱30度电248元80度是380元这个漏洞的效果就是通过简单的替换将购买80度电时的价格变成购买30度电的价格实现降价。这篇文章将以复盘的视角一边讲解利用过程一边分析前后端支付发起逻辑希望和大家交流渗透开始首先进入小程序购买页面是这样的可以选择三种不同的电量预约购买之后点击立即预约抓包会发现一开始接口会发送一个priceld这个接口返回的是订单的价格看变量名好像还有一些付款方式什么的紧接着下一个请求这里发送的也是priceld请求如下观察返回包返回的是价格猜测这个接口就是返回的当前选定项目的价格此时界面来到了准备确认订单的页面如下图价格显示的是248元到这里就可以思考一下这个过程首先就是选择三个充电项目也就是三个不同的电量选择不同的电量点击预约费用是不同的在这个过程中主要有两个请求第一就是最开始的会直接生成个priceld发送到后端返回订单的金额和退款规则等等第二就是再次发送priceld会返回当前订单的费用总计。那么这里我们就可以设想如果我点击第三个提交的时候第一个请求首先得到了他的priceld但是在发送第二个请求的时候我将高价(80度电)的priceld替换为低价(30度电)的priceld那么是不是就能实现降价呢实践起来首先点击第三个80度电点击预约之后Burp拦截开启开始抓包首先第一个可以看到是生成了第三个项目的priceld观察返回包可以发现也是第三个项目的度数和费用80度380元继续抓包可以看到此时已经来到第二个请求通过之前的抓包我们把之前280的priceld替换到这里来观察返回包发现此时的数值确实变了变成了248元此时放掉返回包发现前端界面的数值也发生了一些变化请求的服务是80度服务费是340元但是下面的费用总和却是248元到这里非常欣喜再稍作分析结合上面创建预约单的两个请求可以知道上面两个请求大概分别控制的是这些部分的内容到了这里我们通过更改请求包的方式实现了对价格的控制按照经验来讲已经离成功不远了在以往的老系统有很多的支付漏洞价格修改信息修改等都是通过返回包来控制这种漏洞在现在已经非常少见了而且大多数修改返回包只是仅仅更改了前端的显示。很难达到修改实际支付数额的效果。继续测试我们点击确认订单抓包看到了这些参数看起来应当就是预约单的内容通过变量发现应该是当前预约单的一些信息其中还是有priceld我们再次修改替换他成为248元的那个priceld更改之后放包这里生成了第三方支付的二维码。扫描后发现确实金额变成了第一种充电度数的金额248元说明该系统直接向第三方支付开出了248元的订单至此证明支付漏洞成功利用已经实现降价。复盘总结读到这里相信你一定有一种“茅塞顿开”的感觉是的这个漏洞十分简单就是因为他这个支付金额的确认逻辑是通过一个金额id(priceld)通过简单的把A产品的金额id(priceld)替换成其他产品的金额id(priceld)实现”使用其他产品的钱购买A产品“的效果。背后的支付逻辑大概如下图因此我们就可以通过更改第二个请求的priceld实现了修改最终订单的付款费用达成了更改价格的效果。实际上这个漏洞不是特别难但是经过调研测试发现目前这套支付的处理逻辑有很多种各行业的生产系统都在使用面对C端的产品出现这种漏洞非常严重同样根据这样的逻辑我们也可以进一步引申思考同样的逻辑可能不光出现在支付过程也许还可能出现在其他类似的例如积分兑换等功能上。网络安全学习资源分享:给大家分享一份全套的网络安全学习资料给那些想学习 网络安全的小伙伴们一点帮助对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。因篇幅有限仅展示部分资料朋友们如果有需要全套《网络安全入门进阶学习资源包》请看下方扫描即可前往获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询