摘要:期末了,原本是同学们面对各科考试一筹莫展,如今连学校都要小心了,校园邮箱系统陈旧,招来高技能同学一试身手,别说,某高校同学还真得偿夙愿,不仅成功破解了学校邮箱密码成功“顺”出考试卷,还认真贴出了如何截获任课老师邮件、更改成绩的秘籍。总之,高智商的同学伤不起啊...

期末了,原本是同学们面对各科考试一筹莫展,如今连学校都要小心了,校园邮箱系统陈旧,招来高技能同学一试身手,别说,某高校同学还真得偿夙愿,不仅成功破解了学校邮箱密码成功“顺”出考试卷,还认真贴出了如何截获任课老师邮件、更改成绩的秘籍。总之,高智商的同学伤不起啊...

下面,就让我们一看究竟:

先声明,这个漏洞是无意中发现的,我只是验证了它可行了,但是最后是没有干坏事的,否则被发现会被退学的。

另外就是目测很多高校的邮箱系统都有这样的漏洞(因为感觉以前的邮箱系统都不用框架开发= =),欢迎其它学校的同学去实践和验证,但是还是不要做坏事哦=。=   下面开始了=。=

一般来说,学院是相对独立的组织,我们的试卷都是由任课老师命题然后发给学院的教务员来打印,最终送到我们手上。怎么发呢= =,我觉得U盘QQ都不太靠普也不好管理,猜测是邮箱发的,所以我们的目标就是要登录到教务员的邮箱那里,拿到试题; 

我们院教务员邮箱地址有两个 jw**@software.nju.edu.cn 和 gao*ian@software.nju.edu.cn  (不打全,但是软院的同学都知道=。=)

登录的话一般情况下需要密码,但是SQL注入是我初一那个年代的事了,现在的网站目测都过滤掉了,我们要利用的是cookie,因为服务器除了密码以外也认这个东西,而且这个东西我们可以在浏览器上伪造。我在我们学院的邮箱系统通过chrome拿到cookie如下:

 

学校的邮箱系统你准备好了吗?我们来“偷”试卷了-金笛子企业电子期刊

观察上面的cookie,知道这个东西不好伪造,因为里面有服务器自己生成的token;所以我们要再一次改思路:通过js让教务员把自己的cookie发回给我们;

一般来说,学校的邮箱的邮件都支持html,甚至会在页面提供编辑html代码的功能(如果不提供的话可以通过chrome来修改邮件的html内容,或者自己用socket来向邮件服务器写邮件),但是,《s*c*r*i*p*t》这种标签一般都会在后台被过滤掉,但是元素标签的事件里的代码往往会被忽略掉,以前人人也因为没过滤好而被人xss,以下是我发给教务员的邮件:

 

学校的邮箱系统你准备好了吗?我们来“偷”试卷了-金笛子企业电子期刊

上面那个人人表情就这样植入的代码,这个意思是从我舍友的服务器那里拉取我写的一段代码,然后植入到当前的页面上执行。而那段代码的内容就不详细说了,就是拿到document.cookie然后escape一下,ajax到另一个php脚本那里保存到数据库。 但是我们要注意到,cookie关闭浏览器或者在这之后的一段时间后就失效了,所以我要收到cookie就要马上动刀,于是我用脚本自动将这段cookie转发到我的QQ邮箱那里,虽然平常不用QQ邮箱,但是它能通过微信直接提示,还是很管用的。

今天早上我特意早起,登教务员打开邮件,但是他们不怎么勤快,直到我中午吃完饭才打开,

 

学校的邮箱系统你准备好了吗?我们来“偷”试卷了-金笛子企业电子期刊

我给cookie加上些东西变成了代码(因为动作要快==),打开院邮,在chrome的console里输入就登进教务员的邮箱了。

 

学校的邮箱系统你准备好了吗?我们来“偷”试卷了-金笛子企业电子期刊

软件学院的同学你们都知道这个人是谁=。= ,剩下的事情好办了,在邮件搜索“卷”,就全出来了

太多了,有13页,但是我们年级是3学期,所以下学期才考试哈,我真没有打开过里面任何一封邮件和下载过试卷哦。

如何修改成绩? 不出所料,成绩也是任课老师整理后在教务员那里汇总,然后再到学校教务处的,例如下面这种;方法很简单,将标题包含“成绩”的邮件设置为spam,教务院就收不到了,然后你去spam那里去找回来,下载表格,修改成绩,以同样方法劫持任课老师的邮箱,重新发一封给教务员。(大概可行吧,没试过)

最后,我用教务员的邮箱给自己的邮箱发了封邮件,纯属恶搞。

实验做到这里了,抛砖引玉,欢迎其它学校的同学验证自己学校的邮箱系统,但是不要做坏事哦。

原文来源:剪客