关于正方教务系统漏洞的说明
此漏洞基于湖北工程学院教务管理系统进行演示,漏洞覆盖新正方教务系统8.0以下版本,为本人一年前提交的漏洞,所以并非0day漏洞
此漏洞影响范围巨大,几乎涉及国内一半高校的教务系统,包含武汉大学、浙江工商大学等等
而且据本人推测,此漏洞难以完全修复,因为我怀疑在该程序的设计阶段,权限验证模块与真实功能模块耦合度过高,所以到目前如此多的功能,已经难以完全修复所有页面了
此漏洞仅供学习,请勿做任何违法的事情。
本人在发布漏洞前已和本校教务系统及公司提前沟通,并已修复了较为重要的功能模块。
漏洞原理
由于没有源代码,以下部分主要为本人猜想,实际以真实源代码为主。
在任何权限的用户登录进入系统以后,会获取相应的权限,用户的会话应该是保留在服务器的session里,然后用户每次进入一个功能页面,应该都会通过服务器上的session来查询用户的角色,并分配相应的权限
在写教务系统查成绩的爬虫的过程中,我发现url中的一个get参数:”gnmkdm“是一个不可缺少的参数,去掉以后任何操作页面都会显示无权限,并且页面标题栏会变为空,于是我猜想,gnmkdm是一个控制权限和标题的参数,为了进一步验证,于是我尝试将学生的某个功能页面(比如成绩查询)中的gnmkdm参数改为其他页面(比如个人信息维护)中的值(N100808),然后我们会发现,页面标题变成了《学生个人信息维护》,而功能却还是查询成绩页面的功能,并且发现出现了个人信息维护中的按钮(如图):
![image-20221219113357973](https://img-
blog.csdnimg.cn/img_convert/f629cbbb4c29c3f0c26745cbe7e96e98.png)于是我初步断定gnmkdm是控制功能按钮与标题的页面,于是我又尝试摸清楚gnmkdm代码的意思,于是去掉了N100808中最后两个08,结果出现了如下画面:
![image-20221219113417428](https://img-
blog.csdnimg.cn/img_convert/4420c2dc45eedfd287b424355a1c429e.png)于我断定,gnmkdm这个参数是由N+”两位模块代码“+”两位控制器代码“+“两位方法代码”组成的,后续也通过验证证实了猜想
继续的,我点开标题栏的html源代码进行分析,发现代码中竟然显性地存放着功能模块的地址:
![image-20221219113426359](https://img-
blog.csdnimg.cn/img_convert/c88a5504aeab38a3362656580d96db16.png)于是我断定程序是存在一个敏感目录泄露漏洞的,接着往下走,我通过尝试,获取到了用户管理页面的路径:
http://61.183.22.151:8080/jwglxt/xtgl/yhgl_cxYhxx.html
并将学生个人信息维护权限的gnmkdm代码放入url参数,结果发现可以正确进入,验证成功具有越权操作漏洞:
![image-20221219113435667](https://img-
blog.csdnimg.cn/img_convert/1f8a276a3c32db3823940698dbed78f9.png)搜索自己的账户,并点击修改,发现可以修改自己的权限(验证过后改回了自己的权限,防止自己的权限对系统造成问题):
![image-20221219113444944](https://img-
blog.csdnimg.cn/img_convert/c01f4372464c07f59c0e4aa9824861f9.png)至此是漏洞的全过程
经过我的分析,漏洞产生原因是因为权限验证没有放在基本控制器中,而是放在了标题栏的功能模块进行验证,所以提供了越权操作的可能性
建议修复方法
1、在基本控制器中,对用户验证权限,即在基本控制器中对gnmkdm的代码和用户权限进行验证,并同时对gnmkdm参数和目录进行匹配验证,防止使用一个页面的权限取操作另一个页面
2、在增删改操作时,验证用户持有权限,即在model中进行控制
3、将敏感页面全部设置操作密码,防止越权以后能够进行操作
再说一句
此漏洞的利用方式不仅局限于上述方法,除此之外可以通过在开发者工具修改网页的js脚本并劫持替换,达到将一些隐藏按钮以及功能显示出来的效果
最后
从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。
因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。
干货主要有:
①1000+CTF历届题库(主流和经典的应该都有了)
②CTF技术文档(最全中文版)
③项目源码(四五十个有趣且经典的练手项目及源码)
④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)
⑤ 网络安全学习路线图(告别不入流的学习)
⑥ CTF/渗透测试工具镜像文件大全
⑦ 2023密码学/隐身术/PWN技术手册大全
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
扫码领取
![](https://img-blog.csdnimg.cn/img_convert/2f0a943c73ba1c704f181e9592d94a60.jpeg)