第9章

一切都运行得有条不紊。

黑色巨龙首将内容传递进塔的内部:【学号是18111439,密码是123——或1+1=2。】

然后白色巨龙首寻找着符合条件的文档。

对于它目之所及的每一个文档,它都在判断:【学号是18111439?】

直到找到了匹配的那一张——学号为18111439的文档。

接着它判断:【密码是123?】

不正确,标记为0。

接着它判断:【1+1=2?】

正确,标记为1。

所以,【密码是123或1+1=2】,即为【0 or 1】。

答案是1。

密码正确。

文档匹配成功,准予返回。

白色巨龙首将它找到的文档传递了回黑色巨龙首处。

时夜便看到了这份文档。

【学号:18111439

姓名:汪谷

成绩:129/150分

排名:6】

然而,时夜同样也不在乎这份文档,他在乎的是眼前这座白色钟塔有着一个很明显的漏洞:它能够被SQL注入。

刚才就是一场简单又典型的SQL注入。

简单来讲,现在时夜可以登录任何账户,而不需要知道密码。

他拥有了一把叫做【1+1=2】的万能钥匙,于是连琴鸟也不再需要了。

手持着这把钥匙,便绕开了看守大门黑色巨龙首,从管理员专用的工作通道踏入了钟塔内部。

SQL数据库是经典的关系型数据库。

在时夜眼前,便是整齐划一的无数书架,每一座书架都能高耸入云,承装下数之不尽的书册文档。

眼前这座书架叫做【最终成绩】,他信手从中抽出一份文档,就看到了另一名陌生同校的成绩单。

绕过这座书架,下一座书架叫做【题库】。

再下一座是【原始成绩】,里面存录的似乎是程序的初始运行成果。它包括准确率、运行时间、内存消耗和排名分布这四个维度的数据。

时夜在这座书架前坐下,以管理员的身份吩咐白色巨龙首:【找到学号18111427和学号18111439的文档。】

白色巨龙首俯首听命,很快地令两张纸页飞行到时夜的面前。

【学号:18111427

姓名:时夜

准确率:99.9%,100%,76%

运行时间:8ms,14ms,431ms

内存消耗:11.7MB,19.2MB,47.8MB

排名分布:2%,1%,1%】

【学号:18111439

姓名:汪谷

准确率:96%,2%,0%

运行时间:20ms,390ms,超时

内存消耗:12MB,70.5MB,超时

排名分布:65%,80%,无】

数据很直观。

原始程序在系统验收后进行跑分,无论从何种指标上来看,时夜的答案都是最好的。

然而,在从原始成绩进行人工打分和录入后,他突然只剩下50分了。

时夜能够完全地理解一个电子系统运作的原理,但却不能理解后面人为参与的因素。

在他的电子世界里也没有其他任何人。

电子风逐渐褪去,窗边的蝉鸣声复又显得聒噪。

时夜通过图书馆的wifi连接上了二楼的打印机,将刚才得到的两份原始数据打印出来。

他拿到原始数据了,然后该做什么?要拿去质问录入成绩的老师吗?

他不想和任何人说话,那样的方式效率低下、冗长又无聊。

于是时夜想了想,打开了D大官网。

……

午后的时间不知不觉地过去了。

楚英纵又上完了一节试听课,还在抓耳挠腮地想课表怎么选的时候,听到旁边人偶然提起来一句:金荷杯结束了,有两个大一新生拿了三等奖。

楚英纵的心思立刻就飘走了,他又想到时夜,心道:莫非是这家伙?

有些事一旦想起来,就开始一发不可收拾。

楚英纵索性一收东西,吃完晚饭,又施施然跑去了大一的男生宿舍楼底下蹲点——打开手机一看,马上就到傍晚19:00。

没错,就是平时时夜回宿舍的准点时间。

趁着还有时间,楚英纵先拐到楼里去上个厕所。

刚进隔间里,他突然听到外头有两个熟悉的声音——

“你有什么事呀?”

“那个,孙导,我想来想去,还是觉得哪里好像不对劲……”

楚英纵耳尖抖了抖,听出来了:这不是时夜的室友汪谷,还有他那个不负责任的辅导员孙乐知吗?

听起来好像有什么事的样子。

楚英纵索性就坐在马桶上,翘着二郎腿,竖直了耳朵继续听着。

只听汪谷结结巴巴地说:“孙导,我真的能拿金荷杯的三等奖吗?会不会是哪里搞错了……?”

孙乐知:“哎呀,是你的你就好好拿着吧。”

汪谷:“可、可是,我真的一窍不通,连题干都是carry哥教的。第二题的代码基本是网上复制的,第三题更加是瞎写了,不可能对的呀。”

孙乐知说:“别瞎想,这次的题目本来就很难,大家都做不出来,你已经算是不错的了。”