【SRC实战】未授权访问泄露上万条用户账号数据"

admin 2026-10-17 10:38:31 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

【SRC实战】未授权访问泄露上万条用户账号数据

原创

Blimey029
Blimey029

N0n4m3 Sec

2026年8月8日 19:29
广东

在小说阅读器读本章

去阅读

郑重声明

任何网络安全测试活动均须事先获得明确授权。本公众号文章的内容源自作者日常积累,未经许可严禁转载。本文所提及的技术漏洞均已完成修复,文中涉及的技术方法仅作教学交流之用,严禁任何非法用途。因不当使用而产生的全部责任均由使用者自行承担。本文讨论的所有案例与技术内容,旨在提升读者的安全防护意识,协助构建更完善的安全防护体系,有效抵御潜在网络威胁。

前言

校园线上平台承载海量学生、教职工隐私数据,一旦接口权限管控出现疏漏,会造成大规模个人信息裸奔。本次分享两起真实的未授权接口信息泄露实战案例,覆盖Vue后台管理系统、基于OAuth2的微信小程序两类主流校园业务系统:

一处校园教学平台未对用户查询接口做登录拦截,任何人访问公开前端JS就能找到数据接口,直接拉取全体师生明文密码等信息;另一所高校小程序使用框架默认OAuth2客户端密钥,攻击者可枚举分页接口拿到上万条加密账号哈希,弱密码可被破解并登录用户账户。

正文

漏洞1:未授权信息泄露

直接访问URL:https://xxx.xxx.edu.cn:9001/#/index通过图标和哈希路由#知道该站是vue的,然后通过前端源码搜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

*参数* *值* *说明*
hashcat - 密码破解工具程序名
-D 2 设备类型 指定使用GPU 设备(1=CPU,2=GPU)
-m 3200 哈希类型 指定哈希算法为BCrypt
-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

因此登录成功

end


【SRC实战】未授权访问泄露上万条用户账号数据" 网络安全文章

【SRC实战】未授权访问泄露上万条用户账号数据"

本文分享两起校园系统未授权访问漏洞实战案例。一处Vue后台管理系统因未对用户查询接口做登录拦截,攻击者通过前端JS提取接口直接获取管理员密码及746条用户信息。另一处微信小程序因使用OAuth2框架默认客户端凭证,攻击者可枚举分页接口获取15848条用户BCrypt哈希密码,并成功破解弱密码登录账户。建议加强接口权限验证、避免使用默认凭证。
紧跟商务部33号令落地:企事业单位进口打印、复印设备安全检测实操指南" 网络安全文章

紧跟商务部33号令落地:企事业单位进口打印、复印设备安全检测实操指南"

本文基于商务部33号令,针对进口打印复印设备潜藏后门、远程管控及数据静默回传等风险,提供从硬件排查、固件软件筛查、网络传输检测、电磁泄密检测、存储数据清查到运维报废全流程的实操检测方法。文章强调建立常态化检测机制,并给出极简执行清单,旨在帮助机关、国企等单位落实国家安全合规要求,守住数据安全底线。
当“事后发现”已成常态——从两起数据安全案例看企业防护盲区" 网络安全文章

当“事后发现”已成常态——从两起数据安全案例看企业防护盲区"

本文通过河南校园服务器裸奔被处罚和韩国KT数据泄露被罚2.5亿元两起案例,指出许多组织的数据安全防护仍停留在事后发现阶段。核心问题包括安全监测预警缺失、敏感数据保护不足及合规投入不匹配。建议企业建立事前预防、事中监测、事后响应的全程防护体系,以防范数据泄露风险。
评论:0   参与:  0