SRC挖掘
文集大纲加载中……
小迪安全知识库
-
+
首页
由未授权访问敏感泄露
由未授权访问敏感泄露
**郑重声明** 任何网络安全测试活动均须事先获得明确授权。本公众号文章的内容源自作者日常积累,未经许可严禁转载。本文所提及的技术漏洞均已完成修复,文中涉及的技术方法仅作教学交流之用,严禁任何非法用途。因不当使用而产生的全部责任均由使用者自行承担。本文讨论的所有案例与技术内容,旨在提升读者的安全防护意识,协助构建更完善的安全防护体系,有效抵御潜在网络威胁。 **前言** 校园线上平台承载海量学生、教职工隐私数据,一旦接口权限管控出现疏漏,会造成大规模个人信息裸奔。本次分享两起真实的未授权接口信息泄露实战案例,覆盖Vue后台管理系统、基于OAuth2的微信小程序两类主流校园业务系统: 一处校园教学平台未对用户查询接口做登录拦截,任何人访问公开前端JS就能找到数据接口,直接拉取全体师生明文密码等信息;另一所高校小程序使用框架默认OAuth2客户端密钥,攻击者可枚举分页接口拿到上万条加密账号哈希,弱密码可被破解并登录用户账户。 **正文** 漏洞1:未授权信息泄露 直接访问URL:https://xxx.xxx.edu.cn:9001/#/index通过图标和哈希路由[#知道该站是vue的](javascript:;),然后通过前端源码搜baseURL,baseURL是axios全局统一配置的后端接口根前缀,vue前后端分离项目会提前把完整后端域名+统一接口目录写在这里。  可以看到前端页面加载两个核心JS:chunk-vendors.xxx.js、app.xxx.js,chunk-vendors是Vue CLI 2/Vue CLI 4(配套Vue2) 打包的固定产物;Vue3现在主流用Vite打包,不会生成chunk-vendors这种命名文件。根据这个文件命名,就能初步锁定是 Vue2  接着继续全局搜page:function,为什么是 page:function ? Vue 2.x的组件方法通常以方法名:function(){} 格式定义,页面列表查询功能普遍命名为page或list 。 结合前期从JS中提取的全局baseURL为https://xxx.xxx.edu.cn:9001/SEM,再拼接page:function代码段里暴露的相对请求路径/users与固定参数字段,最终组装得到完整用户列表接口: /SEM/users?name=&userId=&page=&pageSize=  完整URL:https://xxx.xxx.edu.cn:9001/SEM/users?name=&userId=&page=&pageSize= 访问后获取到管理员的账号密码 "userId": "admin", "password":"newpass123"  利用获取到的管理员账号密码登录后可看到746条用户信息,包括姓名、身份证、登录密码等信息,可在编辑处进行查看   漏洞2:某EDU小程序未授权接口泄露15848条个人信息 进入目标小程序后,点击个人中心->登录  登录后会产生3个数据包,先看第一个数据包 字段 值 接口路径 /xxx/xxx/auth/oauth2/token Authorization Basic bWxxxxxxxW5p 解码客户端凭证(Authorization):bWxxxxxxxW5p → base64解码 → 为开源框架的默认客户端凭证 另外可以看到该小程序是基于Pig4Cloud框架的  此时再看第二个数据包,响应包有密码字段  因为是基于Pig4Cloud框架的RESTful设计规范,可枚举接口 接口 状态码 结果 /xxx/xxx/app/appuser/list 404 不存在 /xxx/xxx/app/appuser/page 200 ✅ 关键发现 /xxx/xxx/app/appuser/info 200 用户信息接口 访问/xxx/xxx/app/appuser/page这个接口后,返回用户的账号密码  看到响应包底部,一共有15854名用户的详细信息,包括用户ID、用户名、真实姓名、账号密码等,其中密码采用**BCrypt单向哈希算法**  哈希格式分析:$2a$10$xxxxxx... → BCrypt算法,成本因子10 通过hashcat来尝试爆破: hashcat.exe -D 2 -m 3200 -a 0 -o cracked\_results.txt hashes.txt target\_users\_dict.txt 成功爆破出来5个密码  此时再根据第一个数据包以及OAuth2.0协议规定的客户端认证方式,修改数据包为: POST /xxx/xxx/auth/oauth2/token HTTP/2 Host: xxx.edu.cn Content-Length: 68 Client-Toc: Y Authorization: Basic bWxxxxxxxW5p User-Agent: xxxx Xweb\_xhr: 1 Content-Type: application/x-www-form-urlencoded Tenant-Id: xxx Accept: \*/\* Sec-Fetch-Site: cross-site Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Referer: https://xxx/page-frame.html Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 Priority: u=1, i **username=19xxxx70&password=19xxxx70&grant\_type=password&scope=server** 又因为都使用了Pig4Cloud框架的客户端凭证,Authorization都是Basic bWxxxxxxxW5p 因此登录成功 
xiaodi
2026年8月17日 16:49
140
0 条评论
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
分享
链接
类型
密码
更新密码
有效期
Markdown文件
Word文件
PDF文档
PDF文档(打印)