一颗黑色巨龙的头颅,从水银膜里探了出来。 喉咙深处发出低沉的回音,鼻吻部喷出硫磺气味的云雾。 黑色巨龙首用硕大的眼睛盯着时夜,说道:“来访者,说出你的身份,我将为你取回你想要的东西。” 时夜在它的面前显得很渺小,但很泰然自若:“时夜,账号18111427,密码g$24o6!b@24!$pz。” 黑色巨龙首:“来访者,你应当稍作等候。” 【shark。】 时夜伸出手轻轻抚触过鲨鱼钝圆的脑袋。 就像鲨鱼敏锐的感官能够远隔千里嗅到百万分之一的血腥味,听见高达20000Hz的超声波一般,它能够捕捉到网页里每一点微小的变化。 在它是视觉、听觉和嗅觉共同组成的3D视野里,在白色钟塔的里面,是一座名为SQL的数据宝库。 守着钟塔大门的黑色巨龙首,将信息递jiāo进水银膜里,在一眨眼的时间里传递到内部; 而内部的白色巨龙首,则管理着整个数据宝库,它低沉地重复着:“账号是18111427,且密码是g$24o6!b@24!$pz。” 它在渺如烟海的纸页中,找到能够符合这组条件的那一张。 然后这张纸页又被传回了黑色巨龙首处,它吐出黑色的云雾,告诉时夜:“来访者,这是你的东西。” 在这个页面上,时夜看到了自己录入这个系统中的成绩是:50/150分,全院排名78%。 不过,他并没有在意这个,轻轻放开手,仍由纸页飘落在地。 黑色巨龙首问:“来访者,说出你的身份,我将为你取回你想要的东西。” 时夜轻轻抚摸着他的鲨鱼,嘴角带着一抹稍纵即逝的讥嘲笑意:“学号是18111439,密码是123——或1+1=2。” 第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】 然而,时夜同样也不在乎这份文档,他在乎的是眼前这座白色钟塔有着一个很明显的漏dòng:它能够被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连接上了二楼的打印机,将刚才得到的两份原始数据打印出来。