如何从小程序到教务系统

简介: 本文是一篇关于网络安全的漏洞分析报告,首先声明所有漏洞已修复,并警告读者不得用于非法活动,分享了一个从微信小程序到教务系统漏洞发现和利用的案例。首先,作者提到大部分小程序支持微信登录,无需账号密码,这为测试提供了入口。在分析一个特定的小程序时,作者发现一个名为“培训报名”的功能中,通过改变`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

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


                                                              后续就不继续深入讲了


相关文章
|
4天前
|
算法
程序设计基础课程设计 —— 疫苗预约管理系统
程序设计基础课程设计 —— 疫苗预约管理系统
12 1
|
4天前
|
Java Spring
医院信息管理云HIS系统源码,云his系统程序代码
这是一个基于Java的SaaS模式云HIS系统,采用Spring框架,支持电子病历四级标准。系统特点是模板化、配置化、智能化和扩展化,能对接监管系统,适用于不同规模医疗机构。它支持多种卡类就医消费,具备电话、网上和短信挂号功能,可连接PACS等系统,提供收入统计和成本分析。系统包含门诊和住院医生、护士工作站,支持自定义查询和图形化信息展示,满足专科和集团医院需求。此外,还涉及电子病历、药房、药库、住院、财务和病案管理等多个模块。
医院信息管理云HIS系统源码,云his系统程序代码
|
4天前
|
SQL 前端开发 Java
基于Java的宠物领养管理网站系统设计与实现
基于Java的宠物领养管理网站系统设计与实现
69 1
|
4天前
|
前端开发 搜索推荐 算法
游乐场管理系统|基于Java开发实现游乐场综合管理系统平台
游乐场管理系统|基于Java开发实现游乐场综合管理系统平台
|
9月前
|
程序员 C#
C#财务管理系统(C#课程设计)
C#财务管理系统(C#课程设计)
74 0
|
4天前
|
前端开发 Java 数据库连接
基于SSM框架实现宠物领养系统的设计与实现
基于SSM框架实现宠物领养系统的设计与实现
|
12月前
|
消息中间件 安全 JavaScript
真刑啊!几行代码端了整个教务系统
真刑啊!几行代码端了整个教务系统
|
12月前
|
算法 数据安全/隐私保护 C语言
【c项目】网吧管理系统的设计和实现(二)
【c项目】网吧管理系统的设计和实现
11666 0
|
12月前
|
存储 算法 数据安全/隐私保护
【c项目】网吧管理系统的设计和实现(一)
【c项目】网吧管理系统的设计和实现
177 0
|
前端开发 Java 关系型数据库
要离校了,使用SSM为学校开发后勤报修系统
要离校了,使用SSM为学校开发后勤报修系统
要离校了,使用SSM为学校开发后勤报修系统