关于正方教务系统漏洞的说明

此漏洞基于湖北工程学院教务管理系统进行演示,漏洞覆盖新正方教务系统8.0以下版本,为本人一年前提交的漏洞,所以并非0day漏洞

此漏洞影响范围巨大,几乎涉及国内一半高校的教务系统,包含武汉大学、浙江工商大学等等

而且据本人推测,此漏洞难以完全修复,因为我怀疑在该程序的设计阶段,权限验证模块与真实功能模块耦合度过高,所以到目前如此多的功能,已经难以完全修复所有页面了

此漏洞仅供学习,请勿做任何违法的事情。

本人在发布漏洞前已和本校教务系统及公司提前沟通,并已修复了较为重要的功能模块。

漏洞原理

由于没有源代码,以下部分主要为本人猜想,实际以真实源代码为主。

在任何权限的用户登录进入系统以后,会获取相应的权限,用户的会话应该是保留在服务器的session里,然后用户每次进入一个功能页面,应该都会通过服务器上的session来查询用户的角色,并分配相应的权限

在写教务系统查成绩的爬虫的过程中,我发现url中的一个get参数:”gnmkdm“是一个不可缺少的参数,去掉以后任何操作页面都会显示无权限,并且页面标题栏会变为空,于是我猜想,gnmkdm是一个控制权限和标题的参数,为了进一步验证,于是我尝试将学生的某个功能页面(比如成绩查询)中的gnmkdm参数改为其他页面(比如个人信息维护)中的值(N100808),然后我们会发现,页面标题变成了《学生个人信息维护》,而功能却还是查询成绩页面的功能,并且发现出现了个人信息维护中的按钮(如图):

于是我初步断定gnmkdm是控制功能按钮与标题的页面,于是我又尝试摸清楚gnmkdm代码的意思,于是去掉了N100808中最后两个08,结果出现了如下画面:

于我断定,gnmkdm这个参数是由N+”两位模块代码“+”两位控制器代码“+“两位方法代码”组成的,后续也通过验证证实了猜想

继续的,我点开标题栏的html源代码进行分析,发现代码中竟然显性地存放着功能模块的地址:

于是我断定程序是存在一个敏感目录泄露漏洞的,接着往下走,我通过尝试,获取到了用户管理页面的路径:

http://61.183.22.151:8080/jwglxt/xtgl/yhgl_cxYhxx.html

并将学生个人信息维护权限的gnmkdm代码放入url参数,结果发现可以正确进入,验证成功具有越权操作漏洞:

搜索自己的账户,并点击修改,发现可以修改自己的权限(验证过后改回了自己的权限,防止自己的权限对系统造成问题):

至此是漏洞的全过程

经过我的分析,漏洞产生原因是因为权限验证没有放在基本控制器中,而是放在了标题栏的功能模块进行验证,所以提供了越权操作的可能性

建议修复方法

1、在基本控制器中,对用户验证权限,即在基本控制器中对gnmkdm的代码和用户权限进行验证,并同时对gnmkdm参数和目录进行匹配验证,防止使用一个页面的权限取操作另一个页面

2、在增删改操作时,验证用户持有权限,即在model中进行控制

3、将敏感页面全部设置操作密码,防止越权以后能够进行操作

再说一句

此漏洞的利用方式不仅局限于上述方法,除此之外可以通过在开发者工具修改网页的js脚本并劫持替换,达到将一些隐藏按钮以及功能显示出来的效果

关于新正方教务系统(湖北工程学院)的one day越权漏洞的说明相关推荐

  1. 广州商学院Python正方教务系统爬虫(获取个人信息成绩课表修改密码)

    使用python的requests库简单爬取,使用xpath解析内容 可以获取个人信息.个人照片.成绩单和课表 github地址:https://github.com/PythonerKK/GZCC- ...

  2. JavaScript之正方教务系统自动化教评[插件-转载]

    [声明]本插件系学院学长原创,非博主所创,发布此处,仅供学习和效仿. /*** @name:正方教务系统自动化教评-插件* * @author:chenzhongshu* @date:2017-07- ...

  3. 正方教务系统换数据库服务器,附:正方教务系统成绩录入操作说明- 正方教务系统成绩管理使用说明.doc...

    附:正方教务系统成绩录入操作说明- 正方教务系统成绩管理使用说明 正方教务系统成绩录入操作说明 正方教务系统成绩管理包括成绩录入.统计分析.成绩单回收确认和查询打印几项功能,其中成绩录入包括后台成绩录 ...

  4. ZUCC 正方教务系统 抢课脚本 抢课流程实现

    ZUCC 正方教务系统 抢课脚本 抢课流程实现 新版ZUCC正方教务系统抢课脚本的流程分析与实现,文章结尾有完整项目的所有代码. 个人博客文章链接 流程分析 账号登录进入首页 模拟请求进入计划内选课界 ...

  5. JSoup模拟登录新版正方教务系统(内网-教务系统)获取信息过程详解

    新版正方教务系统登录界面: 目录 一.需求分析 二.模拟登录内网 三.模拟登录教务系统 四.爬取成绩和课表信息 参考文章 一.需求分析   需要访问教务系统,爬取出课表成绩等信息,并在自己所写的APP ...

  6. python实现高校教务管理系统_Python实现新版正方教务系统爬虫

    目录~ 引入 需要什么软件? 模拟登陆 代码实现(登陆) 模拟获取成绩 代码实现(获取成绩) 解析成绩 测试(完成图) 作者的话 引入 就在我刚刚写完旧版正方系统爬虫的时候(旧版正方系统爬虫代码) 学 ...

  7. python爬虫学校正方教务系统获取全部成绩

    python爬虫正方教务系统许昌学院 来自许昌学院的大四小菜鸡,疫情封在宿舍,闲来无事在宿舍爬了一下之前没成功的教务系统爬虫,当时觉得挺难的,今天发现这个还是挺简单的,这个程序参考了很多前辈大佬们的程 ...

  8. 新版小爱课程表正方教务系统课表适配

    新版小爱课程表正方教务系统课表适配 前言 之前写过一篇小爱课程表的教务系统适配,但是是比较老的版本开发者工具适配了,最近看到小爱课程表开发者工具更新了,就想着写一篇新的博客,顺便优化一下之前的代码,还 ...

  9. Python实现新版正方教务系统爬虫(二)

    前言 哎对不起 我可能是silly boy 我想在学校里把去年的坑填了 但是发现新版的教务系统代码没传到git上 我现在就成了个对着空ide发呆的憨憨(代码在家里啦 所以填坑就再过会吧 那就稍微闲聊一 ...

  10. 基于Python 3.11.0版本模拟登录并爬取西安理工大学正方教务系统的学分绩点并计算

    目录 使用软件以及运行环境 对于环境的搭建 代码思路 需要导入的包 模拟登录 爬取数据 绩点计算器 功能一 功能二 完整代码 使用软件以及运行环境 win10系统,Vs Code软件,Python 3 ...

最新文章

  1. [Android]开发摇一摇分歧表决器过程
  2. python将照片转文字_Python将图片转化成文字
  3. 使用ODBC连接SQL Anywhere 5.0(asp)
  4. Python关于中文字符前面的u(转载)
  5. 网站被DDOS***怎么防御,推荐网站CDN防御
  6. TransactionScope oracle不能用的问题(转载)
  7. go 连接服务器 并存放图片_Go 在马蜂窝即时通讯服务建设中的实践
  8. 全球开发者调查:JavaScript 成最爱,还最喜欢用 React
  9. 当公司辞掉85后测试员选择95后测试员后...
  10. python必背代码-Python一些实用代码
  11. 双非本科逆袭 拿下ACM金牌、字节和旷视offer、保研985!
  12. linux yum资源下载,yumdownloader命令 – 从yum存储库下载rpm包
  13. Essay写作必须要保证质量吗?随便写能通过吗?
  14. 形式化方法 Assignment 2: Proof engineering
  15. wamp5虚拟主机的配置
  16. 计算机视觉笔记及资料整理(含图像分割、目标检测小方向学习)
  17. Visualforce 标签(一)
  18. 一年中有12个月,每个月的天数是不一样的,其中有7个月为31天称为大月,分别为1,3,5,7,8,10,12月, 有4个月为30天,称为小月,分别为4,6,9,11月,还有二月较特殊,平年的二月有28
  19. Hbase的scan原理
  20. 使用代码列出金庸小说中使用过的所有成语

热门文章

  1. html文本框拖动全选,html文本框常见操作技巧
  2. 【如何选】校园卡购买必读,移动联通电信校园卡套餐对比及购买策略(1预热)...
  3. Frogs' Neighborhood POJ - 1659
  4. java导出繁体字word_利用简繁体字转换功能实现简体字文档转换为繁体字文档的方法...
  5. 儿童猜词游戏图片_趣味看图猜词
  6. 梁念坚致辞Tech ED2009 主推Windows7
  7. 最短路——大胖子走迷宫
  8. python3 如何对一个数进行开方(3种方法)
  9. JN项目-qq昵称含有表情无法进行第三方登录
  10. weak和alias