如何从小程序到教务系统

简介: 本文是一篇关于网络安全的漏洞分析报告,首先声明所有漏洞已修复,并警告读者不得用于非法活动,分享了一个从微信小程序到教务系统漏洞发现和利用的案例。首先,作者提到大部分小程序支持微信登录,无需账号密码,这为测试提供了入口。在分析一个特定的小程序时,作者发现一个名为“培训报名”的功能中,通过改变`studentId`参数可以访问到其他用户的敏感信息,如姓名、身份证等,揭示了越权漏洞(漏洞点一)。接着,作者利用这些信息尝试登录小程序并成功访问到其他功能,如查看缴费发票,进一步发现了另一个越权漏洞(漏洞点二)。

前言


版权声明:本文为本博主在CSDN的原创文章搬运而来,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。                            

原文链接:https://blog.csdn.net/weixin_72543266/article/details/137606513


免责声明

以下漏洞均已经上报漏洞平台。请勿利用文章内的相关技术从事非法测试。若因此产生一切后果与本博客及本人无关。

分享声明

      此篇博文为微信公众号小呆安全的404Xyunxi_师傅投稿的,经过本人同意,进行分享

个人介绍


如何从小程序到教务系统----漏洞思路分享

挖洞前提

       相信很多师傅都会遇到这个问题,如果挖edu没有账号,那么就可以尝试去挖小程序,因为大部分小程序可以微信登陆,不需要账号密码登陆,那么小程序就可以作为一个入口去测试.

案例漏洞信息介绍

水平越权漏洞

水平越权漏洞指的是用户访问了与其权限相同的其他用户的资源,而敏感信息泄露漏洞则涉及不当暴露的敏感数据漏洞通常是由于开发人员在实现数据访问逻辑时,过分信任客户端请求而忽略了必要的权限检查导致的。

敏感信息泄露漏洞

敏感信息泄露漏洞则是指应用程序在不应当的情况下公开或泄露了敏感数据。

测试案例

小程序部分:

本次案例就是一个小程序案例,一开始我也没有账号,那么将目光瞄准小程序,一开始是一个缴费系统


漏洞点一(越权):

image.gif

首先看到了界面上的培训报名功能点,点进去,看看数据包


image.gif

找到了这个数据包

GET /api/social/regsuccess?studentId=0&openId=o2KYg5d6Xp-XfyRH55bepR6A2Onk HTTP/2
Host: xxxxx.edu.cn
Xweb_xhr: 1
Authorization: Basic eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJvMktZZzVkNlhwLVhmeVJINTViZXBSNkEyT25rIiwiaWF0IjoiMTcxMjA1OTMxMSIsIm5iZiI6IjE3MTIwNTkzMTEiLCJleHAiOiIxNzEyMDYwMzExIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9leHBpcmF0aW9uIjoiMjAyNC80LzIgMjA6MTg6MzEiLCJpc3MiOiJTZWNTY2hvb2wiLCJhdWQiOiJ3ciJ9.549KCByIzlS0x4sgl5bmXBx7sxSuFsaSQp4IVbcJ1ts
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF WindowsWechat(0x6309092b) XWEB/9079
Content-Type: application/json
Accept: */*
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://xxxxxxxxx
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

image.gif

发包

image.gif

   当studentId=0 的时候,显示该学员还没注册,那么下一步很正常的思路就是遍历一下studentId 看看会不会返回敏感信息

image.gif

image.gif

随意更改一下studentId就出现很多敏感信息 ,放到爆破模块跑一下,随意跑500个

image.gif

跑出来了很多一个人的三件套,姓名,身份证,学号,越权+1

漏洞点2(敏感信息泄露):

image.gif


现在尝试登陆这个小程序,随意使用爆出来的身份信息进行登陆

image.gif

                                                                                                                   成功登陆进小程序,拿到个人信息

image.gif

敏感信息泄露+1

漏洞点3(越权):

                                                                                                             继续在登陆过后的小程序翻找功能点


                                                                                                                                 我的票据----查看票据



数据包

GET /api/order/loadOrderInvoice?orderNumber=20230829199535 HTTP/2
Host: xxxxxx.edu.cn
Xweb_xhr: 1
Authorization: Basic eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJvMktZZzVkNlhwLVhmeVJINTViZXBSNkEyT25rIiwiaWF0IjoiMTcxMjA1OTMxMSIsIm5iZiI6IjE3MTIwNTkzMTEiLCJleHAiOiIxNzEyMDYwMzExIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9leHBpcmF0aW9uIjoiMjAyNC80LzIgMjA6MTg6MzEiLCJpc3MiOiJTZWNTY2hvb2wiLCJhdWQiOiJ3ciJ9.549KCByIzlS0x4sgl5bmXBx7sxSuFsaSQp4IVbcJ1ts
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF WindowsWechat(0x6309092b) XWEB/9079
Content-Type: application/json
Accept: */*
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: 
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

image.gif

观察到了orderNumbe 号码 那么尝试更改一下 20230829199533

发包


查看该照片


                                                                                               可以看到缴费人和缴费金额不一样了,存在越权,越权+1

Web部分:

   现在我们整理一下收集到的信息  很多学号  身份证  姓名  三要素齐全了  那么我们下一步思路就是通过这些东西去登陆该学校其他系统

鹰图搜索

直接找到很多系统 尝试去登陆

image.gif

   这一步很重要  因为即使账号密码修改了,不是默认的也没有关系,我们可以通过身份证来修改密码,这样就达到了登陆的效果

拿到了第一个系统

image.gif

                                                                                         界面上没有修改密码的选项,那么就查看js,找到修改密码的接口

image.gif

拼接

                                    发现可以直接通过身份证进行密码重置,这里就可以直接重置密码进入系统,然后可以进行后续操作

第二个系统

image.gif

                                                                                                                            标准的教务系统,继续忘记密码

image.gif

image.gif

  密保答案可以随意填写,然后就可以直接修改密码了,这里就只对身份证做了验证,而恰巧我们就得到了身份证,后续我们登陆成功


                                                              后续就不继续深入讲了


相关文章
|
7月前
|
小程序 JavaScript 前端开发
基于为小程序的图书馆预约小程序的设计与实现
`code袁💖`是一位热爱分享和记录学习的大学生,主要在[CSDN](https://blog.csdn.net/qq_48164590?spm=1018.2226.3001.5343)上撰写关于毕业设计、微信小程序和Vue开发的专栏。他分享了图书馆预约小程序的开发,该小程序提供资源浏览、预约、个性化推荐和管理功能,使用的技术栈包括Element UI、Vue、微信小程序、Node.js、Npm、Express和MySQL。文章中还包括系统功能图、登录页面示例和数据库设计的E-R模型。此外,还展示了性能测试代码片段和Vue模板代码。如需源码,可关注作者获取。
86 1
|
7月前
|
小程序 JavaScript Java
宿舍|学生宿舍管理小程序|基于微信小程序的学生宿舍管理系统设计与实现(源码+数据库+文档)
宿舍|学生宿舍管理小程序|基于微信小程序的学生宿舍管理系统设计与实现(源码+数据库+文档)
109 0
|
7月前
|
小程序 JavaScript Java
宿舍报修|宿舍报修小程序|基于微信小程序的宿舍报修系统的设计与实现(源码+数据库+文档)
宿舍报修|宿舍报修小程序|基于微信小程序的宿舍报修系统的设计与实现(源码+数据库+文档)
54 0
|
7月前
|
前端开发 搜索推荐 算法
游乐场管理系统|基于Java开发实现游乐场综合管理系统平台
游乐场管理系统|基于Java开发实现游乐场综合管理系统平台
110 0
|
消息中间件 安全 JavaScript
真刑啊!几行代码端了整个教务系统
真刑啊!几行代码端了整个教务系统
|
算法 数据安全/隐私保护 C语言
【c项目】网吧管理系统的设计和实现(二)
【c项目】网吧管理系统的设计和实现
11722 0
|
存储 算法 数据安全/隐私保护
【c项目】网吧管理系统的设计和实现(一)
【c项目】网吧管理系统的设计和实现
240 0
|
Java 应用服务中间件 开发工具
学生宿舍管理系统的设计与实现
学生宿舍管理系统的设计与实现
399 0
学生宿舍管理系统的设计与实现
|
Go
【升级版学生信息管理系统&员工工资信息管理系统】+文件操作+更多细节(下)
【升级版学生信息管理系统&员工工资信息管理系统】+文件操作+更多细节(下)
75 0
【升级版学生信息管理系统&员工工资信息管理系统】+文件操作+更多细节(下)
|
存储 小程序 NoSQL
实战:小程序疫苗预约 - 框架搭建 & 数据库管理|学习笔记
快速学习实战:小程序疫苗预约 - 框架搭建 & 数据库管理。
实战:小程序疫苗预约 - 框架搭建 & 数据库管理|学习笔记