前言
在授权渗透测试过程中,我们针对某学校系统进行安全检测时,发现一处水平越权漏洞。通过该漏洞,攻击者可查看其他用户的维修工单详情,涉及报修人姓名、电话、位置等敏感信息。本文将完整还原测试过程,并结合存储型XSS的无感验证思路,分享漏洞挖掘与验证的实操经验。
二、漏洞原理与思路梳理
什么是水平越权?
水平越权,简单来说就是:同级用户之间可以互相访问对方的数据。
举个例子:用户A和用户B都是普通学生,权限相同。正常情况下,A只能看自己的维修单,B只能看自己的。但如果系统只校验了"你是否是登录用户",却没有校验"这个维修单是不是你的",那么A通过修改维修单ID,就能看到B的工单信息------这就是水平越权。
本次测试思路
核心逻辑 :维修单详情接口通过URL中的id参数来查询数据,但服务端未对该参数的归属权进行校验,导致可通过枚举ID值访问其他用户的工单。
验证策略:使用两个测试账号分别创建工单,然后交叉访问对方工单ID,验证是否可获取数据。
三、测试流程
1、微信小程序搜索某报修系统