学生管理系统审计

admin 2025年4月1日14:52:12学生管理系统审计已关闭评论3 views字数 1499阅读4分59秒阅读模式
学生管理系统审计
学生管理系统审计
学生管理系统审计
鼎新安全
don't give up and don't give in !

学生管理系统审计

1.环境搭建

项目地址:
https://gitee.com/huang-yk/student-manage

项目下载到本地后IDEA打开,等待项目加载

配置Maven,修改数据库配置文件

学生管理系统审计

然后启动

学生管理系统审计
访问
学生管理系统审计

2.代码审计

1.垂直越权+未授权+敏感信息泄露

找到拦截器看看对登录做了什么校验
学生管理系统审计

````

@Overridepublic boolean preHandle(HttpServletRequest request,   HttpServletResponse response, Object handler) throws Exception { HttpSession session = 
            request.getSession();
           User user = (User) 
            session.getAttribute(StrUtil.USER);
          if (user == null) {   
            response.sendRedirect(request.getContextPath()
          "/login/loginPage");returnfalse; } else {   String url = 
            request.getRequestURI();
             List list = 
            user.getUrlList();
          for (Auth auth : list) {if (
            url.contains(auth.getUrl())
           || 
            auth.getUrl().contains(url.split(
          "/")[0])) {returntrue;     }   } } 
            response.sendRedirect(request.getContextPath()
          "/404");returnfalse;}

第一 ,可以看到检查用户是否已登录,然后检查登录用户是否有权限访问当前请求的URL,若登录就进去,没登录就跳转登录界面

第二 ,

·         遍历权限列表,检查当前 URL 是否匹配任何权限规则

·         匹配规则1:当前 URL 包含权限

 URL(
url.contains(auth.getUrl()))

·         匹配规则2:权限 URL 包含当前 URL 的第一级路径

(
auth.getUrl().contains(url.split("/")[0]))

所以这里就有一些潜在问题

RL 匹配逻辑可能不够精确:

·         使用 contains() 方法可能导致误匹配(例如 /user 会匹配

/user/add 和 /admin/user)

·       考虑使用更精确的匹配方式,如 equals 或正则表达式
url.split("/")[0]
获取的是第一个路径段,这种匹配可能过于宽松

查看数据库

学生管理系统审计

可以发现各自的身份权限所能访问的位置,其中管理员19个都能访问,而学生和老师分别为7个8个

根据上面的代码分析,我们进入管理员之后拥有权限,可以进行构造路径来进行垂直越权进行操作

学生管理系统审计
可以发现进入管理员访问这个/student/list 可以发现能够遍历所有的人员信息
学生管理系统审计
登录普通用户
学生管理系统审计
拼接这个/student/list 依然可以访问,达到垂直越权加未授权加敏感信息泄露
学生管理系统审计

2.多处XSS

查找是否有预编译的,或者xss相关的
学生管理系统审计
学生管理系统审计
发现没有对xss进行预编译的或者防护,而且添加的数据在进入数据库之前都没有进行判断或者进行校验,然后直接就是找个xss poc 直接插入就行了

1.公告编辑

学生管理系统审计
学生管理系统审计

2.学生编辑

学生管理系统审计
学生管理系统审计

3.教师编辑

学生管理系统审计
学生管理系统审计
学生管理系统审计
END
学生管理系统审计

注:鼎星安全有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月1日14:52:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   学生管理系统审计https://cn-sec.com/archives/3904104.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.