前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次挖洞之旅所引发的撕X大战

记一次挖洞之旅所引发的撕X大战

作者头像
FB客服
发布2018-02-27 11:52:42
5440
发布2018-02-27 11:52:42
举报
文章被收录于专栏:FreeBufFreeBufFreeBuf

在上个月,我一直都在跟我的本科学校(迪堡大学)做“斗争”。在对学校网站进行漏洞挖掘的过程中,我发现并上报了一个安全漏洞,这个漏洞还涉及到学校给学生所提供的电子邮箱。在这篇文章中,我将跟大家讨论这个漏洞的技术细节以及我个人对整个事件的看法。

在今年八月份,我在迪堡大学的学生电子服务网站上发现了一个带有隐藏输入点(Hidden Inputs,即<input type=”hidden”>)的表单。这个链接可以将学生重定向到一个包含学生学校邮箱以及相关信息的网页。这条链接与该网站中其他所有的链接都不同,因为它没有<a>标签,它使用的是一个带有隐藏<input>的<form>标签。除此之外,这个表格的类型域为sqlform。不过这个隐藏输入点的名字非常有意思:Student ID。

隐藏表单

一般我们在使用隐藏输入点时,我们会假设没人会去打开审查器并检查你的网页源码,然后用它来提交某种格式化的数据。在Mozilla给出的使用场景中,甚至还会用它来发送类似令牌和凭证之类的安全数据。基于这种假设,开发人员几乎不会对隐藏输入点的数据进行过滤。

我所发现的表单正好就是这种情况,这个Student ID域可以直接使用Chrome Web检查工具来直接编辑修改,而且网站不会对其进行任何的过滤。

我向我朋友要了一个Student ID来测试这个漏洞,结果发现通过向系统提交经过修改后的数据便能够让系统输出该学生的邮箱号以及相关信息。

这就非常可怕了,因为这个漏洞可能已经存在多年,而且还可能已经被利用过无数次了。自从1995年的HTML2.0规范发布之后,就有了Hidden Inputs,但是这个网页明显没有22年那么久,可是…谁知道呢?

随后,我向HelpDesk(学校的IT部门)提交了这个漏洞的详细信息以及复现方法。并得到了如下图所示的回复:

考虑到SQL注入漏洞很可能会对学校的网站系统产生不可逆的影响,因此我得谨慎选择一个注入Payload。我没有选择使用“DROP TABLE”命令,因为这会将数据库中的表信息永久删除。首先,我假设提交的表单将会执行下列命令:

如果input的内容是表单中的Student ID,那么就相当于(插入了“OR =1”):

因为”1=1”永远为真,这条语句也就永远为真了。接下来,系统便会范围每一条邮箱号以及相关组合数据,我们可以在Chrome中直接查看到。

于是我又跟学校的有关部门取得了联系,告诉他们这个漏洞可能比我们想象的更加严重,而学校也在当天修复了这个漏洞。

学校的回应

由于我发现了这样一个可能会泄露上千名学生个人信息的漏洞,所以我觉得我应该可以得到学校的“重视”。因此,我打算在得到学校许可的情况下写一篇文章来记录这一次的挖洞过程,而这也是我当时所能得到的唯一奖励了。

学校给我和其中一名系统管理员安排了一次会面,并希望从我这里了解到完整的漏洞技术细节,会面时间是8月28日。由于该漏洞已经被修复了,所以我也询问他们我是否可以写一篇相关的文章。但这名管理员却表示他们没有权限答应我这件事情,所以我可能要等到下次跟学校高层见面才能知道结果了。

跟学校高层的会面安排在8月30号,他们想从我这里了解整个事情的经过。当时我被问到了一大堆的问题,例如我做这件事情(挖洞)的意图?而且他们还表示,由于这个漏洞,现在所有的学生邮箱以及个人信息都得要修改。更加莫名其妙的是,我感觉他们说话的语气就像这一切都是拜我所赐一样。当我说到我打算发表一篇文章来记录此次事件详情时,他们却让我不要对外发表任何信息。不过他们根本拦不住我,反正他们又不是警察。

第三次会面发生在8月31日,当时他们又问了一堆之前已经问过的问题,因为另一名学校高层领导希望直接从我这里得到第一手信息。接下来学校表示,他们不会泄露我的个人身份,并希望我考虑一下几个因素:

  1. 之后的老板知道之后可能不会再聘请我了,因为我有可能会对他们的系统“乱来”。
  2. 脾气不好的高层可能会对我的行为予以惩罚。
  3. 学生们会很生气,还有可能会报复我。
  4. 将细节公布出来将会影响迪堡大学(我的母校)的名声,我为何要这样做?
  5. 我“入侵”了学校的信息系统,但学校并不会惩罚我。但如果我坚持要公布细节的话,那他们就要好好考虑一下了。

但我告诉他们,你们系统有漏洞这是板上钉钉的事实,这并不是我的错,而且你们的系统此前可能已经被入侵多次了,而学生们的信息可能也早就泄露出去了。学校则表示,如果我一定要公开的话,他们就会报警,因为我非法访问了学校的敏感信息,而这是一种违法行为。

之后,我的父亲联系了一名律师,因为我的母校准备将我交给执法部门来处理。

公开信息

迪堡大学在9月4日的早上7点23分给所有的学生发了一封邮件:

大概在一周之后,迪堡大学学生会创办的校报The Depauw对此次事件进行了报道,点击【这里】查看报道原文,强烈建议大家阅读。

该报道一经发表,便引起了学生们的一片哗然。他们认为学校的做法完全是不可理喻的,而我的做法才是正确的。除此之外,也有不少学生联系我说他们愿意帮助我,例如向学校管理层写信或发邮件等等。

随后的会面

在9月22日,我跟学校的高层进行了最后一次会谈,并希望在此次会面时将所有的事情一次性解决。

学校首先表示他们不会对我的行为予以惩罚(我呸!),随后他们对校报那篇文章所引起的“一片哗然”进行了解释,他们认为他们在按规定办事…之后的对话大致内容如下所示:

学校还表示,他们已经聘请了第三方安全团队来对学校的系统进行完整的安全审计,查找并修复系统中的安全漏洞,无论我再报告什么他们都不再欢迎了,而我将面临他们给予的惩罚…

后话

整个过程的确让我感到非常的失望,虽然我也能理解学校为什么让我“闭好嘴巴”,但他们的态度确实让我非常不爽。最大的问题在于,学校根本不关心漏洞的严重性,他们的第一反应就是要让我“闭嘴”,不仅用法律来“威胁”我,还打着“保护我,为我好”的名义来让我保持沉默。但在我看来,我在学校的系统中发现了安全漏洞,并且负责任地将漏洞上报给了学校的有关部门,我并不认为自己做错了什么,学校也许应该把注意力放在如何保证学生信息安全上吧!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 隐藏表单
  • 学校的回应
  • 公开信息
    • 随后的会面
    • 后话
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档