文章总结: 本文记录了对某学校报修系统进行授权渗透测试时发现的水平越权漏洞。攻击者通过枚举工单ID可查看其他用户报修详情,涉及姓名电话地址等敏感信息。测试使用两个账号交叉访问验证。建议服务端增加数据归属校验并使用UUID替代连续ID。强调合规测试与过程记录的重要性。 综合评分: 90 文章分类: 渗透测试,web安全,漏洞分析,实战经验,安全意识
隐患藏在校园小程序:一条请求越权篡改他人报修数据
三垣网安
2026年8月25日 20:24 湖南
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
前言
在授权渗透测试过程中,我们针对某学校系统进行安全检测时,发现一处水平越权漏洞。通过该漏洞,攻击者可查看其他用户的维修工单详情,涉及报修人姓名、电话、位置等敏感信息。本文将完整还原测试过程,并结合存储型XSS的无感验证思路,分享漏洞挖掘与验证的实操经验。
目录
前言
1.漏洞原理与思路梳理
1.1什么是水平越权?
1.2本次测试思路
2.测试流程
3.漏洞总结
3.1 核心问题
3.2 危害分析
3.3 修复建议
3.4 测试心得
4.安全声明
1. 漏洞原理与思路梳理
1.1 什么是水平越权?
水平越权,简单来说就是:同级用户之间可以互相访问对方的数据。
举个例子:用户A和用户B都是普通学生,权限相同。正常情况下,A只能看自己的维修单,B只能看自己的。但如果系统只校验了“你是否是登录用户”,却没有校验“这个维修单是不是你的”,那么A通过修改维修单ID,就能看到B的工单信息——这就是水平越权。
1.2 本次测试思路
核心逻辑:维修单详情接口通过URL中的id参数来查询数据,但服务端未对该参数的归属权进行校验,导致可通过枚举ID值访问其他用户的工单。
验证策略:使用两个测试账号分别创建工单,然后交叉访问对方工单ID,验证是否可获取数据。
2. 测试流程
2.1 微信小程序搜索某报修系统
2.2 创建两个账号,每个账号都创建一个维修单,可以看到两个维修单的id
2.3 第一个账号点击撤单,将id改为第二单的id
2.4 账号1报修单没有被删除
2.5 账号2的报修单被删除了
3 漏洞总结
3.1 核心问题
服务端在处理维修单详情查询请求时,仅校验了用户是否登录(身份认证),未校验当前用户是否有权限访问目标工单(数据归属校验)。攻击者通过枚举或猜测工单ID,即可获取其他用户的工单详情。
3.2 危害分析
(1)个人信息泄露:报修人姓名、电话号码、具体住址等敏感信息可被任意查看
(2)隐私侵害:维修工单包含用户的生活轨迹和物品信息,存在被恶意收集利用的风险
(3)连锁风险:若其他接口存在类似问题,可能导致更大范围的数据泄露
3.3 修复建议
(1)服务端增加数据归属校验:在处理工单详情请求时,验证当前登录用户是否是该工单的创建者或具有查看权限
(2)避免使用可枚举的ID:工单ID建议使用UUID等不可预测的标识符,而非连续数字
(3)统一权限校验中间件:在所有数据访问接口中统一调用权限校验逻辑,避免遗漏
(4)修复后回归测试:确认修复方案有效且未引入新问题
3.4 测试心得
(1)越权漏洞的发现关键在于“换位思考”:登录不同账号,交叉访问对方的数据接口,是最直接有效的检测方式
(2)记录测试过程至关重要:边测试边截图,保留完整的请求包和响应包,便于后续报告撰写和漏洞复现
(3)风险等级评估要结合实际:虽然是低危漏洞,但涉及个人隐私信息泄露,需引起足够重视
(4)合规操作不可忘:所有测试需在授权范围内进行,获取的数据不超过必要条数,测试完成后及时上报
4 安全声明
本文内容仅用于安全技术研究与授权渗透测试场景,所有测试操作均已获得目标单位授权。严禁将文中技术用于非法攻击活动。漏洞修复建议仅供参考,具体实施方案请结合业务实际进行评估
点击关注三垣网安
了解更多网安知识
水平越权 #逻辑缺陷 #网络安全
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:三垣网安 《隐患藏在校园小程序:一条请求越权篡改他人报修数据》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论