亲爱的论坛成员。有这样一个有趣的情况(我将从史前史开始——很多字母)。在我就读的M大学,从我进入的那一刻起,就有很好的申请和课程表。但一年后,信息开发部门为学生和大学所有员工创建了个人账户,申请被放弃,因为个人账户提供了一种成绩簿、学生信息、聊天和日程安排。同意,只为日程进入个人账户网站很不方便,所以他们答应为智能手机做一个应用程序。时间过去了,没有申请。因此,包括我在内的几个学生决定开发自己的时间表应用程序,数据取自开源并进行了解析,我们无法访问大学的基础设施,我们没有看到这一点。但就在几天前,大学还发布了一个个人帐户的应用程序:其中的功能被削减到时间表 - 您可以使用您的登录密码登录并查看您的时间表。这就是主要故事的开始。
我决定拆解应用程序(用 Java 为 Android 编写),看看他们如何按计划获取数据(我们必须按计划解析 excel 文件)。在这里需要注意的是,我部门的一个二年级学生被任命来开发这个应用程序,他不知何故被信息开发部门聘用了(老实说,我根本不知道这是怎么发生的,在就编程能力而言,他是小组中最差的,甚至在他的学习中他也是一个债务人)。但是哦,好吧,在拆解应用程序并对其进行分析后,我简直吓坏了——没有安全性。授权过程简直惨不忍睹 - 一个请求被发送到服务器,密钥被简单地缝在应用程序中,就在源代码中(????),在这个请求之后,一个 access_token 被放置在 cookie 中,那就是它!在这些操作之后,我们可以从内部数据库中请求大学的完整时间表,并执行一些不那么关键的操作。好吧,告诉我,时间表已经在公共领域了,这有什么问题?还记得,我说过一个学生使用他的登录名和密码输入他的个人帐户吗?因此,在使用密钥登录网站后,我们可以使用 API 发出 ONE 请求,该 API 将返回有关学生的所有信息(姓名、学习年份、学习地点、基础、电话号码、邮件、所有年级的所有成绩,内部聊天等)。好吧,告诉我,我们是在传递用户名和密码吗?不。我们只通过一个登录!一!服务器将返回有关学生的所有信息,包括密码(????)。当然,我可能不知道是什么,但是,在我看来,这完全是胡说八道!并使用在应用程序中输入的密码检查收到的密码,并提供访问时间表。呵呵。
现在我的主要问题(不要因为字母的数量而击败) - 我该怎么办?我认识一个人,他是我的老师,如果不是亲自开发 API,那么肯定会领导他们并有联系。我认为这只是一个巨大的漏洞,因为登录不是问题 - 这是记录号,当进入大学时,它会发布在公共领域的网站上的注册名单中,所以整个录取年份会受到影响(更何况捡个号也不成问题)。问题是不同的 - 如果我谈论这个漏洞,他们是否可以从法律的角度展示任何东西(从道德的角度来看 - 我用我的帐户和两个完全理解的志愿者进行了所有实验一切,此外,我使用了代理以防万一)。
我想听听你对这个问题的看法,因为我以前没有遇到过这样的事情。