找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1422

积分

0

好友

204

主题
发表于 3 天前 | 查看: 9| 回复: 0

本文所述漏洞挖掘活动均在获得明确授权的前提下进行,所有发现的问题在文章发布前均已修复。本文旨在分享安全测试思路与技术细节,提升安全意识。

1. 敏感信息泄露

在对校园官方APP进行测试时,在首页刷新并拦截网络请求,发现一个返回用户信息的接口。关键之处在于,接口通过userId参数标识不同用户,且未对访问范围进行有效鉴权。

通过遍历userId参数(例如从1开始递增),可以批量获取其他学生和老师的个人信息。成功泄露的信息包括学号、所属院系、宿舍楼栋及房间号、人脸照片的Base64编码等。经粗略统计,可遍历获取的数据条目高达19000条左右。这些泄露的敏感信息为进一步的渗透测试提供了数据基础。

遍历userId获取他人信息
获取到的个人信息示例

2. 水平越权

水平越权(亦称平行越权)漏洞允许用户访问或操作同级别其他用户的资源。测试中,在首页刷新请求中找到了当前登录用户的userid

通过修改请求包中的userid值为其他用户的ID(测试发现1-14590为学生,14590-15000左右为教师),然后放行请求。随后在APP界面点击“我的”等相关功能模块,即可成功进入并查看目标用户的全部信息,包括详细的通行记录、人脸信息、宿舍、班级、姓名等。该漏洞属于典型的因服务端未校验请求者身份与目标资源归属关系而导致的水平越权问题

修改请求包中的userid
越权进入他人账户界面

3. 垂直越权

垂直越权指低权限用户获得了高权限用户的功能。利用之前信息收集阶段获取的管理员账号ID,在请求中修改useridpersontype参数。

修改后,APP首页出现了原本对普通用户不可见的“考勤改签”管理接口入口。通过此入口,能够越权访问后台管理系统的部分功能,实现了从普通学生权限到管理员权限的垂直越权

修改参数获取管理员功能点

4. 越权修改他人人脸照片

此漏洞是水平越权的严重后果案例。测试过程如下:

  1. 登录账号A,抓取一个修改或涉及用户信息的POST请求包。
  2. 通过遍历得知账号B的userId=6299personId=6297
  3. 保留账号A请求包中的Authorization认证头(以通过合法性校验),但将请求体中的userid修改为账号B的ID(6299),同时将人脸照片的Base64数据替换为攻击者准备的图片数据。
  4. 发送修改后的请求包。

发包成功后,登录账号B验证,发现其人脸照片已被篡改为账号A所上传的图片,证明存在严重的越权修改漏洞。

爆破获取其他用户ID
修改人脸照片的数据包

5. 存储型XSS

在APP的“宿舍考勤记录 -> 申请改签”功能中,存在一个图片上传点。选择图片后会自动上传,无需点击提交。

测试步骤:

  1. 拦截图片上传请求。
  2. 将上传文件的文件名(filename)修改为.svg后缀。
  3. 将文件内容(Content-Typeimage/svg+xml)替换为包含恶意JavaScript代码的SVG向量图片内容,例如:<svg><script>alert(document.domain)</script></svg>
  4. 放行数据包,服务器返回了文件访问路径。

由于仅在APP内难以触发该XSS,但通过分析上传请求的Host头,发现了对应的Web管理后台。使用APP账号密码可登录该Web系统。在Web后台的个人头像等处,发现图片的完整URL引用格式。将URL中的文件路径部分替换为之前上传的SVG文件路径,访问后成功弹窗,证明了存储型XSS漏洞的存在。

上传点
修改文件名和内容为SVG格式
Web后台触发XSS

总结:本次测试揭示了该校园APP在身份认证、权限校验、输入输出过滤等多个关键安全环节存在缺失。开发者在设计类似系统时,必须贯彻最小权限原则,并在服务端对每一次请求进行严格的权限验证。

文章作者:先知社区
参考来源:https://xz.aliyun.com/news/90858




上一篇:千兆宽带网速不达标?6个技术排查要点解决家庭网络问题
下一篇:盲盒交友平台PHP代码审计实战:前台支付回调SQL注入漏洞挖掘
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 20:54 , Processed in 0.247350 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表