没错...又拿到教务系统最高权限了
本次通过一条完整攻击链,拿到了教务系统的最高权限,影响800+所高校,至此次投稿前,相关问题已通告厂商。
除了获得了厂商的官方致谢外,本人也拿到了人生中最大的一笔漏洞奖金,现将该思路分享出来,欢迎大家讨论交流。
学校最近新上线了教务系统。毕竟之前的教务系统实在是太垃圾了...选个课完全服务器直接崩溃。新系统年前先上线测试两天,这次通过教务处发布的选课公告可以看到:
以此为背景如果我知道老师或学生的工号/学号的话,就可以登录弱密码账户了。
登录之后没什么特别的,几乎所有功能都是校验通过cookie返回信息。所以导致越权就少很多。倒发现了不少逻辑问题,
比如说修改密码处可越过前端密码强度规则这种不疼不痒的小问题。
Tips:任何规则放在前端校验,且后端不做验证的,均可被绕过。对于这种层面的防御,只能限制一些正常用户....
刚才我们说了,大部分的功能都通过Cookie进行校验,所以越权的话,一直没有突破口,直到在注册信息处发现tableid,就立马想遍历一波。
果不其然!当request在tableid=XXXX时返回了大量教师信息,整理之后,大概存在全校2200名教职工信息
Tips:其实不能算是严格意义的水平越权,但还有个参数可以遍历其他人的注册信息。该处的主要问题是大批量的信息泄露。通过burp放置到intruder进行爆破tableid,随后发现有大的reponse包。
刚才我们提到过,系统刚刚上线,大量教师还未上线修改密码。所以导致大量弱口令的执行。我们就可以随意登录任意教师账号
一开始我只认为,整个系统的角色有三个,学生,教师和管理员。但经过尝试登录若干教师系统弱口令之后发现一个高权限账户(学籍系统管理员),该账户可发布信息,并查看全校的角色信息。
不同的权限是不一样的,例如讲师:查询课表,和等级成绩等学籍管理员:可维护全校学籍等学院管理员:可维护本学院学籍教师工作量管理员:可查询所有教师信息等还有招生办管理员,培养方案管理员,教学评价管理员....乱七八糟各种角色有十几个当然了还有最高权限管理员(master)如下图学院管理员所示,学院管理员,每个学院有若干个行政管理人员。(某些高权限的教师账号可以查看这些信息)
此时已经可查看全校近十年来,十万余人的学籍信息了。有点手抖....
Emmmm,之后探索到系统管理处,可以重置任意学生的密码(这个很正常,比如说有学生忘记密码了,你得有人重置一下吧)
一开始也就是重置一下自己的账号试一下功能。但是之后发现可以重置老师的账号....然后我进行了大胆的尝试....
Ohshit???学籍管理员竟然重置了最高权限的管理员账号....这这这明显的垂直越权啊。(之后尝试了其他管理员账号也可以重置)
Tips:垂直越权,相对低权限用户可越权至高权限账户进行操作此处也可以认为是后台逻辑对于系统权限设计的混乱....
然后输入默认账号,密码。之后,成功....进行账号初始化界面,让我更改默认密码
信息收集发现弱口令攻击信息(中低危)
学生可遍历数据库数据,信息泄露教师信息(中低危)
关于教师权限管理不规范(中低危)
学籍管理员等管理员可垂直越权master权限(高危)
之前听过其他师傅的一句话:
知识面宽度决定攻击面广度,知识链深度决定攻击链的长度
所以不起眼的任何安全问题,都有可能造成攻击的线索之一,甚至成为该攻击链闭环中不可或缺的一部分。
从上午10点发现新教务系统发布,到晚上10点。渗透搞了12个小时,写了报告发给了教务处,随后很快厂商主动联系,所有问题得到了积极解决。
感谢敬业的合天运营表姐,通过之前活动给的合天学习卡一直在学习。官网也一直在更新内容,赞一个。点击文末“阅读原文”是相关的实验学习,大家可以了解学习。
声明:所有涉及暴露厂商及学校的任何信息全部打码...且所有漏洞已全部修复。笔者初衷用于分享与普及网络知识,若读者因此作出任何危害网络安全行为后果自负,与合天智汇及原作者无关。
注:合天原创奖励文章,未经允许,禁止转载!