当前位置: 首页 > news >正文

记一次某中学系统越权漏洞

一、确定测试站点

资产的收集依旧是按照弱口令与注册进站的思路进行寻找(具体思路可参考上篇文章,含有完整的收集思路与个人信息搜集方法)。最后确定了该站点,密码依旧存在弱口令:

在这里插入图片描述
于是利用默认密码成功登录该站点:
该站的小洞还是挺多的,这里只挑选部分记录

二、水平越权

进入之后,我首先来到个人信息模块,尝试是否可以越权,毕竟这里有个人信息,如果能越权就是中危。
在这里插入图片描述

从历史包中找到该接口的数据包:
在这里插入图片描述

通过分析,该接口是通过id鉴权的,我们观察这个id并不是常见的数字,常用的遍历方法无法成功越权到别人的信息,所以该参数是有一定规律的。
这时,我的思路是寻找其他接口,是否有未授权接口查到所有人的id,或者泄露了别人的id,这样再利用个人信息的接口,就可以越权了。
于是我测试了该站的一些功能,最后公告、通知一栏获得了发布人的id和userid:
在这里插入图片描述

三、垂直越权

由于我搜集到的是某位老师的账号,所以其中有对学生进行管理的后台,如下:
在这里插入图片描述

这里我利用该信息成功弱口令登录了某位学生的账号,这样我们就有了一高一低两个权限的账号,可以进行垂直越权的测试。

测试垂直越权一般就是用低权限的账号去访问高权限的功能接口,若成功则成功垂直越权;或者使用高权限的账号,但是cookie要换成低权限的cookie,如果仍然可以成功访问高权限账号的功能接口,则也可以算垂直越权,如果直接不用cookie都能访问那就是未授权访问了,大家可以利用该思路进行测试。

这里,我首先登录低权限账号,获得了数据包中的cookie,将之替换到了高权限账户中,成功访问了学生管理后台的接口,正当我以为成功垂直越权时,我又将cookie删了,依然成功返回了内容,如下所示

在这里插入图片描述

这时我注意到了JWT,也就是数据包中的Authorization字段,我把它也删了,返回包直接出错了,也就是该系统是通过JWT进行鉴权的,而不是cookie。

所以,我用低权限的JWT替换了高权限账号的JWT,成功返回了学生管理接口的数据,包括该班级所有学生的信息:
在这里插入图片描述

高权限的JWT访问该接口:
在这里插入图片描述
高低权限的JWT均可访问展示学生信息的接口,证明确实存在垂直越权。


http://www.mrgr.cn/news/19039.html

相关文章:

  • 【深入了解Java常用类】
  • LeetCode:2708. 一个小组的最大实力值(动态规划 Java)
  • 算法day20|669. 修剪二叉搜索树、将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
  • MySQL 锁机制详解
  • 跟我一起学FPGA (二) 语法讲解
  • 八股训练营感想
  • 多表查询_关联查询
  • 【win11】win11取消开机密码
  • 嵌入式Linux:常见信号的默认行为
  • 在vue项目中,有两个tab页,在其中一个页面调用另一个页面的方法
  • AUTOSAR_EXP_ARAComAPI的3章节笔记
  • 如何从 Bak 文件中恢复 SQL数据库?(3种方法)
  • 学习记录——day42 多态
  • 浅谈 cookie 和 session
  • CMake构建学习笔记14-依赖库管理工具
  • 苍穹外卖项目前端DAY02
  • 老师怎样用微信发布月考成绩?
  • [CISCN2019 华东南赛区]Web111
  • 数分基础(06)商业分析四种类型简介
  • chrome插件开发资料