黑客营互动版(36)——第二关:联想猜解攻破逻辑陷阱

黑客·安全

选手A:方丹(山东)

使用工具:IE6.0浏览器

年龄:23

在攻破第一关进入第二关后,页面上没有任何显示,看来只有又从源代码入手。因为这关没有第一关烦人的对话框,那么我们就可以轻易地看到该网页的源代码。因为不能使用右键菜单,所以我选用最简单看源文件的方法。在浏览器菜单栏中点击“查看→源文件”就可以看到这个网页的源文件。

在源文件中,我们可以看到以下内容:

<center>

<font color=“#CC0000”>

<script src=“card.js”></script>

</font>

</center>

发现有一个叫“card.js”的脚本文件。直接在浏览器的地址栏中输入“http://hack.bji.cn/card.js”,下载该脚本文件。下载到本地后,用文本格式打开编辑该脚本文件。我们从脚本文件上可以看到以下内容:

#@~^dQAAAA==@#@&NG1Es+xDRS.kD+cJ@!/^.bwY,sl oEmLn‘r9Um.k2Or@*为了保护我的信用卡S我的第二个密码为*gCEB下一个保管密码的人是莫汉莫德~它在“汉城”度假@!&kmDr2D@*E#p@#@&@#@&mxUAAA==^#~@

我发现这个脚本文件中的乱码有点像Jscriot.Encode脚本加密方式,于是在线解码(http://www.china-holiday.com/newpage/Encode.htm)。获得解码后的脚本文件:document.write(“<script language=”JScript“>为了保护我的信用卡,我的第二个密码为5Nau,下一个保管密码的人是莫汉莫德,它在“汉城”度假</script>”)。

获得第二关的密码“5Nau”。但是在解码后的脚本文件还是没有下一关的入口地址。在仔细研究这个脚本文件后,终于获得了一个灵感,在脚本文件中提到了一点,它在“汉城”度假。为什么汉城要加引号呢?下一关地址会不会与汉城这个词有关呢。最后在数次联想猜测后,发现汉城的英文名称为下一关地址,即http://hack.bji.cn/Seoul.htm。

阿良点评:此关难点在于联想猜解和脚本加密,很多朋友习惯于获得确实的密码或提示,而对于联想猜解却练习颇少。我们对安全技术不一定就要求完全的严谨,有时候需要很多的运气或者联想猜测。所以各位朋友解决问题的时候要小心掉进逻辑陷阱。

选手B:何小平(天津)

使用工具:FlashGet

年龄:15

获得第二关地址后,在FlashGet中新建一个下载项目,下载地址就为黑客游戏的第二关地址“http://hack.bji.cn/TWljcm9zb2Z0.htm”,下载下来后。我们使用文本编辑器看该网页的源代码。发现名为“card.js”的脚本文件。

同样使用FlashGet下载下来,用文本打开。发现里面有如下内容:“#@~^dQAAAA==@#@&NG1Es+xDRS.kD+cJ@!/^.bwY,sl oEmLn’r9Um.k2Or@*为了保护我的信用卡S我的第二个密码为*gCEB下一个保管密码的人是莫汉莫德~它在“汉城”度假@!&kmDr2D@*E#p@#@&@#@&mxUAAA==^#~@”这样就轻松获得了第二关的密码“*gCEB”,再看看脚本文件中有“汉城”,最近汉城不是要改变名字为首尔(Seoul是汉城的英文名称)吗?试试http://hack.bji.cn/Seoul.htm这个网页,成功了!猜测正确。

阿良点评:该选手依靠FlashGet来下载网页和脚本获得源代码,可以避免很多不必要的网页程序的干扰。但是他并没有获得正确的密码,可以看出他对网页加密没有很深的接触。希望以后能加强这方面的学习。但是何小平大胆的猜测联想是很让我们欣赏的地方。