Post

浅谈学海平台三方软件安全性漏洞

套盾:笔者文中所提到的方法并不合相关法规,这里提及,仅供交流学习网络安全用,请不要随意尝试笔者所述的方法。同样的,关键信息笔者已全部省去,所有笔者文中所不合规操作登录的账户均已全部退出且未作任何修改。相应漏洞将会在之后反馈给科大讯飞公司校信平台技术部门,奉劝各位网络不是不法空间。

这两天学校开运动会。我其实挺无聊的。因为出于一些原因,我并不是全天在场,所以相应的也就不敢报项目,纯路人。
正好看学校发的学海平板不顺眼,拿来研究下能不能破解了造福下以后枯燥的课堂。

前情提要:学海教育旗下的“智通云”教育云平台,是一款基于平板终端的云计算教学系统。学海教育始终秉承“教育即服务”的理念,深耕K12教育,目前已实现浙江省地市全覆盖,并辐射多个省外地区,实现“智通云”教育云平台常态化教学。学海平板是基于智通云平台软件服务和三星平板硬件集成的缝合怪平板设备,在浙江省被大量学校采用为教学设备。

三星统一型号:SM-P615C销售型号:Samsung Galaxy Tab S6 Lite 4G (TD-LTE)(可插 SIM 卡用流量)储存信息:4+64G处理器:Exynos 9611 (10nm 制程 性能自行体会)屏幕:2000x1200 LCD(吃电屏也能被吹成护眼屏)相机参数:前置 500w + 后置 800w 最高 1080P 30 fps 录制(没用,下文会说为啥)其他:USB 2.0,最高仅支持 WiFi 5 (802.11ac)

学海通过 Knox API 对系统进行统一管理,禁用了大量可以传输数据和易闪退的方式,例如数据线连接计算机设备,SD 卡,OTG 转接,键盘鼠标,截屏等。因为 Knox 是系统 API 所以无法清除。学海获取了 MDM(设备管理器,又称设备锁)权限,因此目前通用的清引导和 OEM 刷机等方法均无效。系统中的三星工程模式已经无法启动。Recovery 模式据前辈说只有稳定的一次机会可以触发,条件是连接数据线时按下电源键和下音量键从关机状态启动,但笔者这里看来疑似也随着更新 Ban 掉了。

前辈的破解记录:a.通过在教学一体机使用 360 免费WIFI 软件 公开热点,使设置中的 WIFI 连接调用浏览器模块登录网络(类似于酒店或者机场的浏览器内网络认证),并在认证成功后跳转到网页,能够实现十几分钟的不稳定网页浏览,目前已被学海修复;b.通过设置中的隐私政策阅读触发浏览器模块,目前已被修复;c.通过网络连接模块中的二维码分享调取打印模块并二次调取文件生成保存模块,实现文件系统浏览(只读),目前已修复。

看完上述前情提要后,大伙都能知道学海平板现在常规方法基本是破不了了,因此我另辟蹊径,进入正题。
之前笔者本校为响应智慧校园号召,更新了学校的常规考勤系统和分析系统,并且与讯飞的校信系统对接。由此,学海平板上多了一个讯飞的三方应用。
这个应用之前在笔者本校学生手上,已经翻过很多次车了。先是校信的隐私政策有导引至外部的链接,然后再通过链接导引去中国政府网的微博,再点微博广告跳转到百度的邪门手法,后有输入框里丢代码爆掉框架直接操破嵌套进外浏览器的,笔者也都尝试过。可惜的是操作过于简单范围过于广大,最终惊动学海管理人员,两次下线校信软件进行整改。现在我们平板上的校信是完全的阉割版。剩下来的都是封闭式的页面,所以本身其实也没什么破解的办法了。
但问题就在于,这个校信的应用普及度非常高,而且疑似有点流氓。我用了家长身份对我本人进行索引,甚至有我初中的账号记录(但我初中那会根本就不知道有这个东西)。且,它对功能权限的限制不是在软件代码层面上的限制,而是账号的限制。也就是说,学海系统上实装的校信软件其实所有功能都在,只是我们的账号不允许我们使用相关功能,对应的权限布尔值被设为假值了。
这就意味着我可以通过登陆别人的已开放账户来解禁该软件的敏感功能。

笔者在校内运用一些手段(自行理解,不多说)研究了一下这个平台,发现这个平台有以下几个安全弱特性:
1.初始密码恒定。一般账户的初始注册密码,以及忘记密码后联络人(家长、班主任等)的重置密码操作,都会使目标账户的密码改为一个固定的弱密码。
2.没有弱密码强制修正。用这个平台的大多数是中小学生,且修改密码疑似需要联络人操作。平台本身没有重置密码后强制要求修正强密码的功能,甚至都没有弱密码安全警报。也就是说,只有少数人会手动去修改密码。
3.没有多点登录限制。这个平台同一个账号可以登录多个设备,没有任何异地/新设备登录提醒。
4.单点没有尝试限制。这很好理解,同一个设备可以无限次尝试登录且cd很短。也就是说,我完全可以写一个爬虫重复爆账户,用以初始的弱密码去爆破。看到这里其实破解方法就很显而易见了,但你先别急。
5.ID没有抖动处理。这个平台的用户ID没有做过抖动处理。比如A同学的ID是12345678,则与他在同一时期注册的他的同学B、C、D的ID很有可能是12345677,12345679。
6.ID格式固定且有指向性。可以理解为一个用户可以同时具有两个ID,一个是表ID一个是里ID,而里ID恒定为8位数字,但在登陆时表ID和里ID等效。比如我的账号id实际上有十五位,但是它必定有一个8位的纯数字ID可以等效这个十五位的ID;加上用户群体广大,这就便于暴力爆破了。由于第五条ID不做抖动处理的原因,ID还很有可能是具有前缀的。笔者在爆破中就发现部分里ID前两位相同的,学校区域都很相近。

由上,我研究完以后欣喜地发现了这个平台目前的安全系数几乎为0。笔者手动输入了几个账号,用里ID配固定弱密码登录,10个里面成功登录了4个。
我前面提到,这个校信实质上是浏览器的套壳,只不过套壳做的确实不松,很难卡出去。但学海平板系统到底还是安卓,这个软件所有的操作又基本上是网页操作,内置的交互真的很少。也就是说,断网以后再点击登录/注册等按钮,原本会跳转的界面会显示安卓原生浏览器的错误界面,这时对应网站的马甲就会露出来,校信的操作网站一览无余。用电脑再检查一下找个端口和逻辑,直接HTTPS请求自动尝试登录了。

所以基于上述特性,我抓了一个教育比较发达地区的前缀(教育不发达地区,这个系统的功能基本上都是被禁用的,教育发达的才有玩的花的机会,学校才有可能给学生开通各种功能),随便试了几个号,搭配上固定弱密码,就爆出了一个功能比较完备的账号。这里的功能也是极其逆天的。之前提到,校信本质上是浏览器套壳,然而他们似乎完全不在乎浏览器套壳的事实,允许教师在给学生布置作业的同时发布允许直接点击的外部链接,允许学生通过HTTP/HTTPS链接配置第三方网站嵌套内容并支持内容预览等。这两个漏洞是笔者随意尝试了两个成品账号后发现的,可以跳出学海智通云平台限制通过校信逻辑直接访问外部互联网的操作。其中第二个方法,只需要输入百度等搜索引擎的网址,就可以实现墙内全网检索 (事实上这个第三方嵌套本身就是个浏览器中套浏览器,233)。

于是也是爽爽在看台上合法地看了一上午哔哩哔哩,还吃着疯狂星期四的炸鸡,简直不要太爽。 我只能说,教育平台研发这种活不是一般人能啃得下来的饭碗,毕竟要以一己之力对抗所有客户的爆破。现在咱们学生也不缺会网络攻击的,也不缺像我这种会耍点小手段的,没点反入侵水平、没点网安素质、没点脑子的,做出来的所谓教育平台,就是个穿着大部分人都看不出来这里有点东西的隐身衣的学生的摸鱼神器。到底是利大于弊还是弊大于利,我真不好说。你猜猜学海系统为什么现在相对安全、难以破解?你要知道,人家可是更新迭代了几百个版本,且有人高强度监控的……我估计,要是没了学海的各种权限禁用,这个弱智校信还有几百万种方法爆破。

This post is licensed under CC BY 4.0 by the author.