55
按扎达人的航速计算,我们只有半个小时准备时间。船长叫上几个水手去机械舱做检查,准备空间跳跃。茹蜜妮莎公主指挥帝国战士们穿上宇航服,去附近 的陨石上做手脚。我则留在通讯室里,干黑客的勾当。
此计的成败在于我缴获的叛军加密机。我假设,这飞船上只有两个叛军间谍,叛军完全不知晓他们已死,这加密机就还有效。我把它从裤兜中取出,简单地 做了些测试。还好,它没在刚才的搏斗中摔坏。我要用它连上飞船的量子发报机,冒充那俩被我击毙的叛军间谍,向叛军报告,说,密报密报!茹蜜妮莎公 主乘救生飞船逃了。
哪个救生飞船?当然是斯十翁和希九翁这俩扎达冤家开走的那艘。 结果会怎样?叛军能不去找那救生飞船吗?能找不到装有示踪定位器的救生飞船吗?那救生飞船现在正飞向扎达人的舰队,只要报告时机掌握得好,挑拔得得当,叛 军能不和扎达人干一场吗?前几个月,他们刚开了一场恶仗,抢一列太空火车上的暗物质元素,双方死伤很多,火气很大。今天我要让他们抢抢公主,他们 一旦开抢,我们的逃跑机会便来了。
嗯,以上都是计划。第一步,用叛军加密机联络。这一步行不通,其它都泡汤。
这加密机生成量子密匙,再用这密匙加密传送电文。叛军加密机总是成对使用,一个在远方的间谍那儿,一个在总部。从同一束光中分离出来的纠缠光子, 分别注入两个加密机。 如果在加密器A中的纠缠光子状态是1,加密器B中的纠缠光子状态就是0,两者状态永远相反,无论这对加密机的时空相隔有多远。这密匙生成器内有1024个 纠缠光子,一个光子生成一个数字。在一特定时刻,这1024位0和1组成的数字就是密匙。此时,我手上这加密机的数字是1001101……。我将 密匙生成时间用明码发给叛军总部,他们把密匙生成时间输入配对的加密机,会得到0110010……,NOR操作以后,得到与我相同的数字 1001101……,用它加密以后的通讯。每一个密匙只能用几分钟,过期后再用加密机生成新的密匙。
加密机很快接上了飞船的量子发报机,密匙生成时间也非常顺利地发出去,与叛军的加密通讯建立,终端显示:输入用户名与密码。哟,叛军用了双重加 密!不光要加密机还要密码。不管怎样,第一步算大功告成,全凭运气,用上了以命换来的加密机!
第二步猜用户名与密码。这要一点真本事再加一点运气。我输入用户名“狼崽五百”,密码“满月七嗥”。这是我击杀那俩叛军间谍前听来的,或许能用。 很失望,终端显示:用户名或密码错误!难道这密码随时而变?我又输入用户名“狼崽五百”,密码“满月八嗥”,错! 用户名“狼崽六百”,密码“满月七嗥”,错!用户名“狼崽七百”,密码“满月八嗥”,都错!终端显示:再错一次,加密机销毁。
啊,只能再猜一次了,大海捞针似地猜密码,中不了的,得另想办法。这次我在用户名处键入一个字母',终端显示:数据库错误,' 不是完整的SQL语句。我大喜,哈哈,这叛军有SQL注入的软件漏洞!接下来的事情就容易了。我在用户名中输入:狼崽五百,密码“满月七嗥 ' or “翁翁翁翁翁翁翁” = “翁翁翁翁翁翁翁”,终端显示:狼崽五百,欢迎登录!成了!成了!
这儿的猫腻是字母',它是分隔SQL数据和表达式的符号。'后的or 是“或者”的意思,“翁翁翁翁翁翁翁” 当然等于 “翁翁翁翁翁翁翁”啦。这'or “翁翁翁翁翁翁翁” = “翁翁翁翁翁翁翁”的一下,不管我键入什么密码,这SQL后台的程序总是返回“对”,让我登录成功了。
哈哈,这些叛军果真是些泥腿子组成的乌合之众,居然会犯这么低级的编程错误。如果日后东窗事发,他们的程序员要被枪毙几个。接下来,我调用系统命 令更换了狼崽五百的密码。现在,狼崽五百这个用户归我使用, 不用再 “翁翁翁翁翁翁翁”了。
56
第三步,我要让叛军相信茹蜜妮莎公主在那救生飞船上,这比猜密码还难。我不会叛军的暗语,用明码报告叛军肯定不信。这时,我想起老皮的好。有它 在,说不定仅凭这 “狼崽五百,满月七嗥”寥寥数句就可算出点规律。既然船长是我们的人,为何不光明正大地把老皮从垃圾箱中取出呢?我又一想,只有半个小时,跑过去取老皮回 来,不剩几分钟了,还不一定修得好它,算了吧,自己分析吧。
毫无疑问,狼崽五百是个用户名,是那几个死掉的叛军探子的?非常有可能,但不能肯定。如果“狼崽五百” 是开篇的称呼的话,那它可能是探子的下家。如这下家是他们的老板,那我赚大了。我调出它的权限,发现只能收报和发报。这么小的权限?哼!狼崽就是狼崽,怎 当得上老板?老板的账号至少要是“狼叟五千亿”!这“满月七嗥”呢?已经肯定不是密码了,那会是什么呢? “满月”是时间?是360度的相位差?是任务完成的进度?是紧急程度?“七嗥”呢?是通讯频率?是报告的次数?密码书的偏移值?一晃十分钟过去,加密机的 密匙换了好几茬,我一字不敢发出去。行动的时机临近,不能再担搁了。我想,空间坐标总不能用暗语吧,于是,直接用明码发出扎达冤家飞船的方位坐 标。
不到两秒,有人回电:“满月?”
我也回电道:“满月!”
那人又问:“是肉头?”
“肉头!”
“雪坑?”
“不!是肉头!七嗥!七嗥!” 我就会这几句。
“狼崽四百六十七压山头去了,夹尾!”
“夹尾!”
对方挂机了。
啊哈!学会几句狼语。满月=肯定,肉头=目标,雪坑=陷井,七嗥=紧急呼叫,压山头=执行任务,夹尾=小心。对方是狼崽四百六十七,那狼崽五百就 是那两命呜呼的间谍了。啊哈,他俩一死,我改了他们的密码就无人知晓。 我即可以收叛军的情报,又可冒充他们发假情报。啊哈,妙极了, 妙极了!
一会儿,导航室的全息投影显示,守在陨石带平面附近的一艘叛军攻击舰离开编队,向扎达冤家的救生飞船扑去,与此同时,扎达人的战舰也向救生飞船接 近。这对扎达冤家发现叛军攻击舰在追,加速向扎达人的战舰靠近。这可不行,“茹密妮莎公主”不能表现出投奔扎达人的着急样,演得不像。嗯,我得做 点什么,让这救生飞船至少有点欲迎还据的样子。
劳伦斯号的救生飞船都可被母船远程控制,以便被救人员昏迷时还能回收。救生飞 船对我发出的转弯命令没反应。斯玛开拉福罗林辛山卜这个维修工相当不赖,在出发前破坏了遥控装置。不过,他这个机修工只知道破坏控制机械部分,控制软件仍 在工作,对我的部分指令有反应。它的领航纠偏功能被我激活 了。飞船经过巨大星体时,时空扭曲造成偏航,领航纠偏能自动纠正航向。我偷偷将偏航角度设为90度,扎达冤家飞船缓缓地转向了。斯玛开拉福罗林辛山卜的两 臂都烧焦,这时肯定是希地乌丝玛 拉姆京兰在驾驶飞船。她过了许久才发现偏航,赶忙手动纠正,却又被我歪向另一边。这一来二去,他们的救生飞船看起来像在仓皇逃窜。叛军攻击舰加速了。我监 听到叛军与扎达冤家的通话。
“茹密妮莎公主,你快快停船投降!”
“茹密妮莎公主不在这。”
“不管在不在,你们都给我停船!”
“凭什么?我们扎达人会怕你们?”
“不管怕不怕,你们快停船!不然开炮了!" 叛军的船快炮大,救生飞船进入了他们的射程。
“你敢!?我们扎达人的舰队就要到了。我们扎达人的希地乌丝玛拉姆京兰公主在船上,伤了她,你不怕战争升级?”这是斯玛开拉福罗林辛山卜在忍痛交 涉。
哟,这希地乌丝玛拉姆京兰是个扎达公主,听上去还有点分量的样子。我调用飞船上的数据一察,果真,希地乌丝玛拉姆京兰是扎达皇帝最小的女儿,排行 三十七,不想嫁给法尔阿勒行布逻叭欧贲恩赛翁公爵的公子,与情郎斯玛开拉福罗林辛山卜私奔了。哈哈,这下有好戏看喽。我接通救生飞船的专用频道, 说:“尊敬的希地乌丝玛拉姆京兰公主,你知道你们扎达人的舰队是谁在督阵?”
“是谁?”
“是法尔阿勒行布逻叭欧贲恩赛翁公爵!今天你们能逃到哪去?不如高高兴兴地加入我们叛军。我会为你们举行隆重的婚礼。”我兴灾乐祸地说。
“伊森.马丁?你这个扯谎不打草稿的大骗子!”斯玛开拉福罗林辛山卜在骂我。
“不信?你们去问问舰队司令!”
扎达冤家沉默了,不再理会我的呼叫。他们的救生飞船改变航向,试图同时脱离叛军的攻击舰与扎达人的舰队。好了,“茹密妮莎公主”真的在仓皇逃窜 了。