关于近期小程序测试的常见漏洞演示

news2024/11/25 10:59:00

本章节将为大家介绍一下小程序常见的漏洞的展示案例,包括支付业务逻辑漏洞、任意用户登录漏洞、水平越权漏洞等高危漏洞。

以上小程序测试均获取授权,并且客户均已得到修复(仅供学习,请勿恶意攻击)​
关于微信小程序如何拦截数据包,笔者在往期的文章均有过讲解,大家可以翻阅往期文章,此处省略抓包环节演示​

支付业务逻辑漏洞

问题描述:
应用程序未校验订单数据的取值范围,导致可以修改订单数量、订单金额,通过修改订单金额可以达到0元购的效果,由于现在调用的都是支付接口,所以负值反冲已经不再常见了
测试过程:
首先正常页面如下图所示
在这里插入图片描述
只需要在生成支付二维码处修改实际支付金额,这样后台会显示原先的350元,但是实际上只需要支付0.01元
在这里插入图片描述
此时生成支付二维码,页面显示为350,元,但是实际上已经变成0.01元
在这里插入图片描述

第一个009的图忘记保存了,然后又搞了一次,0011,凑合看吧​

在这里插入图片描述
0元购了家人们,这要是让人逮到可遭老了罪了​
风险程度:[严重]
风险分析:
通过篡改订单金额可以达到0元购的效果,造成商家金钱的损失
修复建议:
1.服务器端在生成交易订单时,商品的价格从数据库中取出,禁止使用客户端发送的商品价格。
2.服务器端对客户端提交的交易数据(如商品ID、商品数量、商品价格等)的取值范围进行校验,将商品ID和商品价格与数据库中的数据对比校验,商品数量为大于零的整型数。
3.服务器端在生成支付订单时,对支付订单中影响支付金额的所有因素(比如商品ID、商品数量、商品价格、订单编号等)进行签名,对客户端提交的支付订单进行校验。

任意用户登录漏洞

问题描述:
小程序在登录的时候,仅校验了手机号与手机短信验证码的一致性,并没有校验实际使用的手机号码与openid的关系,缺乏校验,导致可以通过正常使用手机号码接受短信后,修改登录成功的数据包为其他人的手机号码,达到任意用户登录的效果。
测试过程:
使用133********账户登录,登录截图如下
在这里插入图片描述
当前133用户登录返回信息如下:
在这里插入图片描述
直接把mobile参数修改成幸运观众的手机号就可以,此处手机号在前面有出信息泄露,可以抓到很多人的手机号码
在这里插入图片描述
发包即可完成任意用户登录,此处可以看到其他用户的所有数据
在这里插入图片描述
风险程度:[严重]
风险分析:
攻击者使用正常的登录请求访问系统,而后修改手机号码为其他人的手机号码,即可在未进行任何校验的情况下越权登录任意用户,实现所有功能
修复建议:
归根结底该漏洞实际为水平越权漏洞引起的,建议对用户登录的手机号、用户身份进行多因素验证,将微信id号码与实际登录的手机号码进行严格的校验

上述案例主要技术手法为,通过修改返回数据包来实现任意用户登录的目的,除此外,笔者在测试发现,某小程序还可以通过修改请求数据实现任意用户登录,但是客户没有修复成功,所以此处不进行展示学习。

任意用户注册漏洞

问题描述:
小程序为内部员工专用,注册功能未对外开发,利用此漏洞可直接注册用户且无需审核,暂不排除是否会对已存在的用户的影像,如覆盖账号导致无法登录等。
测试过程:
首先访问公众号员工登录页面,此页面无注册功能,且登录逻辑为员工姓名+工号校验
在这里插入图片描述
输入任意的姓名和工号,点击登录按钮,此时的用户是不存在的,大家注意LoginSubmit​
在这里插入图片描述
构造注册数据包,注册用户123 工号A101123;此接口实际上是猜的,大家注意打箭头的地方
在这里插入图片描述
登录后的小图,保命只能发这么多
在这里插入图片描述
风险程度:【高危】
风险分析:
攻击者可以根据此漏洞越过系统拦截直接注册任意用户并访问内部员工功能。
修复建议:
建议销毁此接口,或对员工注册进行审核。

水平越权漏洞

问题描述:
越权访问,这类漏洞是指应用在检查授权(Authorization)时存在纰漏,使得攻击者在获得低权限用户帐后后,可以利用一些方式绕过权限检查,访问或者操作到原本无权访问的高权限功能。
测试过程:
查看某房产小程序个人房产信息,效果如下图所示
在这里插入图片描述
拦截数据包发现,此处存在水平越权漏洞,通过修改get传参可以遍历他人房产,并且可以获取他人id、手机号、身份证号码、房屋信息等数据
在这里插入图片描述
在这里插入图片描述

风险程度:[严重]
风险分析:
攻击者可以利用越权漏洞访问其本不应该具有权限的敏感数据,如个人身份信息、财务数据等,导致隐私泄露。
修复建议:
验证用户权限: 在每个敏感操作之前,对用户进行严格的权限验证。确保用户拥有访问特定资源或数据的权限,且只能访问其授权的内容。

还有一些稀奇古怪的越权,就不展示了,总之一句话,像这种没做什么加密的小程序,只要细心都可以测出来东西,没什么难点

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

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

相关文章

Nat. Communications Biology2022 | PepNN+: 用于识别多肽结合位点的深度关注模型

论文标题:PepNN: a deep attention model for the identification of peptide binding sites 论文链接:PepNN: a deep attention model for the identification of peptide binding sites | Communications Biology 代码地址:oabdin / PepN…

csp非零段划分

202109-2 非零段划分 计算机软件能力认证考试系统 code&#xff1a; #include<bits/stdc.h> using namespace std; const int N5e59;int a[N];vector<int> v[N];//v[i]存放所有元素值为i的元素的下标 int main() {ios::sync_with_stdio(false);cin.tie(0),cout.…

20230908_python练习_服务端与客户端数据交互

用户可以通过简单操作进行服务端数据交互&#xff0c;通过简单的sql语句直接获取EXCEL表&#xff0c;可以用来作为交互的基础。主要涉及三部分&#xff1a; 1:数据库存储表结构 --日志记录表结构 create table shzc.yytowz_service_title (leixing varchar2(18),ziduan1 v…

C#__多线程之任务和连续任务

/// <summary> /// /// 任务&#xff1a;System.Threading.Tasks&#xff08;异步编程的一种实现方式&#xff09; /// 表应完成某个单元工作。这个工作可以在单独的线程中运行&#xff0c;也可以以同步方式启动一个任务。 /// /// 连续任务&#…

【笔试强训选择题】Day36.习题(错题)解析

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;笔试强训选择题 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01; 文章目录 前言一、Day…

蚂蚁发布金融大模型:两大应用产品支小宝2.0、支小助将在完成备案后上线

9月8日&#xff0c;在上海举办的外滩大会上&#xff0c;蚂蚁集团正式发布金融大模型。据了解&#xff0c;蚂蚁金融大模型基于蚂蚁自研基础大模型&#xff0c;针对金融产业深度定制&#xff0c;底层算力集群达到万卡规模。该大模型聚焦真实的金融场景需求&#xff0c;在“认知、…

六大排序算法(Java版):从插入排序到快速排序(含图解)

目录 插入排序 (Insertion Sort) 直接插入排序的特性总结&#xff1a; 选择排序 (Selection Sort) 直接选择排序的特性总结 冒泡排序 (Bubble Sort) 冒泡排序的特性总结 堆排序&#xff08;Heap Sort&#xff09; 堆排序的特性总结 希尔排序 (Shell Sort) 希尔排序的…

【Redis】3、Redis主从复制、哨兵、集群

Redis主从复制 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(Master)&#xff0c;后者称为从节点(Slave)&#xff1b;数据的复制是单向的&#xff0c;只能由主节点到从节点。 默认情况下&#xff0c;每台Redis服务器…

SpringMvc 之crud增删改查应用

目录 1.创建项目 2.配置文件 2.1pom.xml文件 2.2 web.xml文件 2.3 spring-context.xml 2.4 spring-mvc.xml 2.5 spring-MyBatis.xml 2.6 jdbc.properties 数据库 2.7 generatorConfig.xml 2.8 日志文件log4j2 3.后台代码 3.1 pageBean.java 3.2切面类 3.3 biz层…

米尔电子|第十六届STM32全国研讨会即将走进11个城市

2023年9月12日至10月27日&#xff0c;以“STM32&#xff0c;不止于芯”为主题的第十六届STM32全国巡回研讨会将走进11个城市。本届研讨会为全天会议&#xff0c;我们将围绕STM32最新产品开展技术演讲和方案演示。 本次STM32全国研讨会&#xff0c;米尔电子将现场展出STM32相关…

Unity——导航系统补充说明

一、导航系统补充说明 1、导航与动画 我们可以通过设置动画状态机的变量&#xff0c;让动画匹配由玩家直接控制的角色的移动。那么自动导航的角色如何与动画系统结合呢&#xff1f; 有两个常用的属性可以获得导航代理当前的状态&#xff1a; 一是agent.velocity&#xff0c;…

GO语言网络编程(并发编程)并发介绍,Goroutine

GO语言网络编程&#xff08;并发编程&#xff09;并发介绍&#xff0c;Goroutine 1、并发介绍 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。 B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更…

Java“牵手”天猫商品详情数据,天猫商品详情API接口,天猫API接口申请指南

天猫平台商品详情接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取天猫商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片等详细信息 。 获取商品详情接口API是一种用于获取电商平台上商品详情数据的接口&#xff0c;通过…

重排链表(算法时间复杂度O(NlogN))

给定一个单链表 L1​→L2​→⋯→Ln−1​→Ln​&#xff0c;请编写程序将链表重新排列为 Ln​→L1​→Ln−1​→L2​→⋯。例如&#xff1a;给定L为1→2→3→4→5→6&#xff0c;则输出应该为6→1→5→2→4→3。 输入格式&#xff1a; 每个输入包含1个测试用例。每个测试用例…

2023-9-8 扩展欧几里得算法

题目链接&#xff1a;扩展欧几里得算法 #include <iostream> #include <algorithm>using namespace std;int exgcd(int a, int b, int &x, int &y) {if(!b){x 1, y 0;return a;}int d exgcd(b, a % b, y, x);y - a / b * x;return d; }int main() {int…

数据结构之栈的实现(附源码)

目录 一、栈的概念及结构 ​二、栈的实现 三、初学栈的练习题 一、栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出…

Android SDK 上手指南||第十一章 虚拟与物理设备

第十一章 虚拟与物理设备 在之前的文章里&#xff0c;大家已经了解了Android项目当中的基本元素、接触了用户界面的设计以及数据存储方案。接下来&#xff0c;我们将一同探索如何在物理及虚拟设备上运行自己的应用程序并与之互动。在系列文章的下一篇中&#xff0c;我们将分步…

【漏洞复现】一米OA存在任意文件读取漏洞

漏洞描述 一米OA协同办公系统,集成了OA办公自动化系统、手机客户端、专业报表工具,为全国千万企业用户提供全功能、性价比高的OA软件。 该OA系统的getfile.jsp文件存在任意文件上传漏洞,攻击者通过漏洞可以获取服务器的敏感信息。 免责声明 技术文章仅供参考,任何个人和…

浅谈高并发分布式架构演进路径

前言 一直很想写一篇能覆盖分布式方面的文章&#xff0c;但当写的时候发现分布式技术发展到现在阶段&#xff0c;有太多的最佳实践和方法论&#xff0c;网上的文章也特别多&#xff0c;根本无从下手。思来想去&#xff0c;发现很多最佳实践都是有一定的理论支撑&#xff0c;我…