某学校请假流程水平越权泄露数据漏洞
信息泄露事件说明
隐私声明
本人未主动利用漏洞实施以下行为:
非授权数据获取
数据存储
信息传播 仅记录必要技术验证数据
始终秉持"隐私权应作为基本人权"的原则开展研究
注:本文发布前相关漏洞已修复
漏洞发现过程
初始探索
在使用校园APP办理请假业务时,突发奇想探究其技术架构。通过抓包工具捕获到关键接口地址:http://ydmh.xxxxxxx.edu.cn:0000/home/index
经浏览器验证,该接口与移动端呈现完全一致的业务界面,随即展开技术验证:
数据接口分析
通过开发者工具发现关键数据接口,其请求参数包含:
alias=cxxsxx&querydata=%7BXH%3A%22242600000000%22%7D&page=1&pagesize=10
经URL解码得到原始查询条件:
{XH:"242600000000"}
越权测试验证
通过构造空查询条件%7bXH%3a%22%22%7d
,成功获取全量学生信息库(默认返回50条)。通过分页参数调节(pagesize)可实现全量数据提取:
接口扩展测试
基于参数命名规律(拼音缩写)进行接口枚举测试:
cxxsxx(查询学生信息)
cxxscj(查询成绩)
cxjsxx(查询教师信息)
最终发现jsxx
接口可获取教职工敏感信息,包含完整三要素:
姓名
身份证号
移动电话(YDDH字段)
所属单位信息
安全反思
当数据泄露成为常态,我们该如何构建有效的防护体系?
该漏洞存在周期尚不明确,但本人在发现当日即完成上报。经一个月修复周期后,现发布本文进行技术复盘。
技术归因
该漏洞本质为典型的水平越权读取漏洞,具体成因:
后端未实施有效的参数校验
直接将用户输入拼接至SQL查询
缺乏最小权限访问控制
技术团队在此类基础安全问题上的疏忽,实属不该。
某学校请假流程水平越权泄露数据漏洞
https://www.yhtuj.cn/archives/18fe97f3-299f-4e6f-a4e7-4d87795dd5b6