《黑客传说 完整版》

下载本书

添加书签

黑客传说 完整版- 第42部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
输入的一种格式,这种情形在用搜索引擎搜东西的时候最常见,搜索的内容通常都会转换成这种形式呈现在浏览器的地址栏中(至于为什么要这样以后再解释)。

URL编码其实就是字符ASCII码(美国国家信息交换标准代码)的十六进制,不过稍微有些变动,需要在前面加上“%”。比如反斜杠“”,它的ASCII码是92,而92的十六进制是5C,所以它的URL编码就是%5C。汉字的编码也是同样的原理,如“胡”的ASCII码是17670,十六进制码是BAFA,则它的URL编码是“%BA%FA”,由于一个汉字占两个字节,所以中间多了个“%”。

平时通常用不上URL编码,因为IE会自动将输入到地址栏的非数字字母转换为URL编码,只有程序员在编写某些相关功能的程序的时候才需要用到其中的原理,当然,身为一个黑客,这个编码是需要掌握的,有些入侵行为就需要用到这个知识(如:SQL注入)。

这点小知识许毅早就掌握得滚瓜烂熟,他干脆调出编译器,当场编写了一个URL编码转换器,反正知道原理,编写起来不用花多少时间,而且,以后也用得上。

将那段编码复制到自己刚刚编写的小程序中,转换成了几个汉字:“恭喜过关!本关密码是E2”。

许毅微笑起来,虽然题目没什么难度,但这样过关的感觉还是不错,第二关的难度明显比第一关要大上很多,估计会难倒一片菜鸟。第三关的难度怎样呢?许毅还真有点期待了,希望能够让自己头痛一下,最近正在研究密码学呢。

填入第二关的密码,顺利进入第三关。步骤有些大同小异,还是得查看源代码,不过这次的源代码看上去比较混乱,不像前两关那样,一眼看去,就能发现密码大概在某个部位。第三关的页面里面有很多用来干扰的代码,主要是一些脚本代码。这就要求闯关者对网页编程比较熟悉,能够读懂这些代码,至少应该知道那些代码应该会完成哪些功能,哪些代码有用,而哪些代码只是起干扰作用。

许毅很快找到了目标,在验证的时候出现了一段密文,许毅一看,知道用的是JScript。Encode加密,只要用相应的解密功能就能搞定,这对别人来说也许是个难题,但许毅自然能够轻易搞定,他很顺利地进入第四关,他想看看到底有多少关,并且想早一点看到最后一关。

第二卷  第69章 破解游戏(下)

进入第四关,许毅找了老半天,实在是没找到哪个地方是突破口,源代码是检查了一遍又一遍,正怀疑线索可能并不在源代码中的时候,他终于发现了奇怪之处。
'w w w。 s j t x t 。c o m'
在源代码中有这么一句:



疑点就在这里了,这段代码看上去好像没什么问题,可是却没什么具体的作用。通常情况下,脚本代码都是夹在和之间的,但这个其中却没有任何代码。这还不是主要的,关键在于,如果网页脚本语言要使用JavaScript语言的话,正确格式应该为:



或者,将脚本独立出来,直接放到另外一个文件中,然后进行引用。则语法为:



也就是说,上面那个是引用了一个文件了,而文件名正好是JavaScript,出题者这么出,正好是利用它们之间的相似之处,如果对这两个概念不清楚,还真不能发现其中的疑点,当然,这么一句无关紧要的代码隐藏在大量代码中,如果不细心也是发现不了的。

许毅按照上面的地址,将那个文件打开,果然里面有东西,准确的说里面是一句密文,许毅知道自己找对了。

就这么一句密文,不知道加密算法也是没有任何办法的。加密算法何其多,任许毅如何厉害,单凭一句密文也是不能破解的,这个不比软件破解,这只是一个过关密码,也不能根据上下文来推断,各种情况都是有可能的。

既然这是闯关游戏,那肯定还有其他什么线索,这点是可以肯定的。于是,许毅又回到网页源代码上,仔细阅读起来,在其中,发现了一小段和加密有关的代码,不过这段代码实际上是没有起作用的,并没有得到执行,唯一的作用那就是干扰了。其中用的加密方式是base64加密,许毅感觉到自己又一次抓住了过关的钥匙。

许毅再次查看了一下密文的特点,更加肯定这正是用base64加密算法加密的密文了。

Base64是互联网上用的比较多的一种算法,它是为了解决邮件传输中的加密和二进制数据(声音、图形图像等)传输问题而产生的。也就是说,这个算法和邮件联系紧密,几乎所有的电子邮件软件都把它作为默认的二进制编码,它已经成了现今电子邮件编码的代名词。

它的主要思想是将输入的字符串或数据编码成只含有{‘A’…‘Z’, ‘a’…‘z’, ‘0’…‘9’, ‘+’, ‘/’}这64个可打印字符的串,故称为“Base64”(基于64个字符)。它构造简单,速度快,但安全性就一般了,因为这是一种可逆的加密算法,也就是说只要知道密文,就可以将明文很轻易地恢复过来。

在PHP编程中,里面就内置了这样的加密函数,所以许毅很轻易地就将密文破解了,得到了进入第五关的密码。

来到第五关的页面,这次倒干脆,直接给出了一个16位的密文,另外还有一段提示,说密码是6位纯数字。16位的密文,许毅立刻就想到了MD5加密,再联系题目给出的提示,许毅大致猜测自己的推断应该是不错了,不然也不会给出这么一个提示。

看到这个,许毅有些无奈了,他估计这关卡也许就到顶了。因为MD5加密算法是不可逆的,许毅要想破解,就只能是暴力破解了,编写一个软件对6位数字进行穷举,肯定可以将密文跑出来。

既然是MD5,前面自然还有MDX(X

小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架