0x00 前戏
中午,看到朋友在分享一个APP,http://app.cqut.edu.cn/,
好像很不错的样子,下载玩玩?
0x01 初探
当我看到了密码框之后,我的内心就泛起了涟漪。
既然是身份证后六位,那么肯定不是用的学校已有的教务系统,肯定又是一套独立的服务。
So,那我就拿来玩玩。
直接上APK Tool反编译。
如下:
大致浏览了一下,得出初步结论,此APP应该是个外包公司开发的。
最开始,我以为只是一个用爬虫原理做的APP,后来。。。
0x02 噜噜噜
从源码中找到了这个:
打开http://www.yunhuakeji.com/,发现确实是它开发的:
打开抓包,大概分析了一下,所有请求使用GET请求,登陆的时候传学号和MD5(密码):
分析了一下一卡通请求的API,如下:
看这Ticket应该是MD5加密后的结果,翻了一下MD5的调用栈:
所以,这个Ticket是由MD5(“yunhua” + userid + MD5(password) + key)构成的,因为后台要做验证,所以我猜想key应该是固定的,继续翻functionList。
分析functionList:
看来是存在数据库里面的,打开手机,找到对应的db文件:
取出mydb.db,打开看button表:
(此处更正:From@Sunflyer 数据来自:list.action)
APP分析到此为止,以得出结论。
更详细的分析见:https://sunflyer.cn/archives/395
0x03 其实上面说的都没有什么x用,我不想说这个。
0x04 关于信息
这个APP其实也没什么问题(除了这些代码烂到爆,估计是培训公司的xxx写的吧,就不吐槽了)。但是,我想借这个事情说一下我们学校的信息安全。
1,学校相关部门不注重学生隐私
学校教务系统各种漏洞获取各种信息我就不说了,关键是,学校经常对共公布一些考试信息啥的,会包含学号,身份证号等,比如:
试想一下,有了上文提到地这个APP,以及找到的API,和我手上的这些身份数据,拿到某个人的所有信息(包括成绩信息等),难吗?
我觉得相关部门应该关注一下学生相关隐私,不能随意暴露学生信息。
2,学校对各个关键信息平台(学工系统、一卡通中心、教务系统等)安全审计做地严重不足
学校的各个平台都存在一些很低级的安全漏洞,一下是我大一时向学校反馈的安全漏洞,这仅仅是冰山一角:
3,学校对外包项目审核力度不够
我并不是说这个APP存在问题,我只是从这次事件中发现了这些问题,我觉得可以谈谈。
就从一个开发者角度来说,以上文分析到的APP来说,我觉得此APP对安全性做的过于简单,可能并不是所有人都会去用这个APP,即使用,也不一定会修改密码,所以,可以很轻易的拿到这些人的信息。只要稍微有点相关知识的人就可以分析出我上面的东西,或许更好。
可能学校仅仅是想方便学生,方便宣传,就找了一个公司做这个东西,没有考虑这些问题,或者说,一时考虑不到那么周全(微笑脸。
0x05 后话
我写这些,仅仅是因为我是理工的一员,我发现了这些问题,也在思考这些问题,只是希望相关老师可以看到,加强一下相关防范。希望各位理工人能够看到,增加自我信息保护意识。