某高校智慧迎新服务平台越权导致大量敏感信息泄露
前言
本次测试属于公益类型的 SRC
弱口令
在该校教务处找到默认密码规则

去查看公开的新生录取名单,社工库一查就有账号登录了

JavaScript 信息收集
Vue CLI3 单页应用,只引两个包:index.304c22b4.js(247KB 业务码)+ chunk-vendors...js(库)
主包是一行 24 万字符,grep 整行截断 → 改用 [regex]::Matches 只取匹配片段
1 | [regex]::Matches($js, '["''](/[a-zA-Z0-9_/\-\.]{2,80})["'']') # 接口 → 407 个 |
找到 chunk 加载器 → 提取 1445 条「chunk 名→哈希」映射
想抓哪个页面就抓哪个 chunk
越权
在选宿舍页面看到它查询本人档案的接口,ksh 与考生号同名,接口没做任何数据范围限制,直接把全平台学生表分页吐了出来
能一次性批量拉走全平台 41035 名学生的姓名、身份证号、手机号、家庭住址等完整档案

第二个接口直接把全平台贷款档案分页吐了出来,服务端报的总数是 3726 份
每条回包都是完整档案:姓名、身份证号(operator 字段)、贷款金额、放款银行、院系专业班级、导师姓名和工号、证明材料附件路径
一次性批量拉走 3726 份助学贷款档案

第三个接口可批量查看全站 122463 条学生操作日志(含身份证号、家庭住址、字段级修改前后值)
参数只填了分页,服务端直接返回全站学生操作日志,总数 122463 条
每条日志里 ms 字段是学生本次操作前的完整档案快照,包含身份证号(sfzh)、手机号(dh)、家庭住址(jtzz)、家庭成员(jtcyList)、就读经历(jyjlList)、家庭经济情况等八十多个字段,params 字段是这次操作提交的新值,另外还有操作人账号 zh、姓名 xm、来源内网 IP 和调用的接口地址 uri

第四个接口可批量查看全站 1335 条学生咨询留言(含身份证号)

第五个接口可批量查看 407 条教职工名录及手机号

第六个接口可批量查看全站 45724 条学生缴费明细(含身份证号、缴费金额)

第七个接口可批量查看全站 5651 条新生到校接站信息(含身份证号、行程)

第八个接口可越权篡改用户类型字段,首先学生账号返回的是 YHLX_YX

提交修改资料请求,在原本的字段之外塞入用户类型字段并把值改成老师,回包 success 为 true

再次查看发现账号类型已经被修改
