智学网任意成绩查询漏洞分析

智学网任意成绩查询漏洞分析

引言

时代在发展,社会在进步,考试的方式也与时俱进。现在大多数学校的考试系统都是智学网、好分数一类,自然,这些系统也就成为了学生们又爱又恨的对象。本文是在inSoraSky大佬及其项目Zhixue-K α的启发下,自行发现智学网的漏洞并加以分析的记录,仅供学习参考。

一  失败的开始

我来寻找智学网的漏洞主要就是为了能够批量获取到任意指定考试的所有成绩,并没有什么别的想法。所以一开始的思路就是从学生端的成绩查询接口入手,看看有没有越权漏洞。这种分析并不难,经过一番筛选,最后确认学生端获取成绩的API是https://www.zhixue.com/zhixuebao/report/exam/getReportMain。需要的参数也不多,就只要传一个examId上去就好,而examId可以很容易地获取到。

但是!该接口使用Cookie鉴权,并且只返回请求者本人的成绩,完全不给你尝试查询别人成绩的机会,这条路宣告终结。

二  关上的后门

既然学生端不行,那就换教师端呗。由于老师们的互联网安全意识普遍薄弱,没有及时更改初始密码的意识。再加上智学网的教师账号的初始密码统一为111111,这就给了我一个一窥智学网后院的机会。

 

到了后院一看,果不其然,有直接获取全年级考试详情并下载的功能,如果能用上这个,那将是非常高效率的。可当我尝试使用的时候……

得!

只能从已经显示出来了的成绩表格入手了,抓包后,发现了又一个接口,很简单,能直接获取一次考试所有人的数据,如下图。

但当我满心欢喜把这个接口拿到学生权限上做测试时,它302了……

什么意思?这个接口对用户权限的认证做得比较好,发现我权限不够,就跳走了……

三  转机

颓废了一阵子,忽然看到Zhixue-K α的用户群里晒出的一个东西,考试工具箱,需要年级组长以上的权限访问,可以做很多事情。

通过社工,拿到了一个校长的账号,进去翻找了一下,“成绩核查”引起了我的注意。里面的功能可以获取任意考生任意科目的成绩,甚至还可以看答题卡的图片,改成绩就别想了。通过抓包,成功得到了又一个成绩获取接口,而且经测试可以在学生权限下使用。至于接口的详细信息,为防止滥用,暂不公开。这是智学网横向鉴权不足的漏洞。

四  结语

得到接口后,成绩查询工具的开发已经在进行中,拭目以待吧!

Licensed under CC BY-NC-SA 4.0