今天在網上看到一篇帖子:http://www.dingguohua.com/blog/hax-tor-hu_free-ssh.html,便被好奇心驅使來challenge這5個難題了。按照帖子的方法來逐個做,本來想投機取巧下,后來發現問題啥的都變了,于是只得自己一個個攻破了。
首先進入http://hax.tor.hu/warmup1/,其實每一個關卡就是一個warmup,但是不會讓你跳級完成。所以只得一步步來了。
進入warmup1后,會提示你輸入密碼,但是密碼在source中,也就是上面那個也沒的javascript代碼中,而且會給你一個demo例子(http://www.pageresource.com/jscript/jpass.htm),解釋密碼是如何的形式。
var password; var pass1="cool";
password=prompt('Please enter your password to view this page!',' ');
if (password==pass1) alert('Password Correct! Click OK to enter!');
else { window.location="http://www.pageresource.com/jscript/jpass.htm"; }
或者其它形式:
var password;var pass1="cool";var pass2="awesome";var pass3="geekazoid";password=prompt('Please enter your password to view this page!',' ');if (password==pass1 || password==pass2 || password==pass3) alert('Password Correct! Click OK to enter!');else { window.location="http://www.pageresource.com/jscript/jpass.htm"; }
總之,根據代碼的形式很容易找到源代碼中的相關密碼部分,這部分我做的密碼是“warmup1lolcopter”。和原始 的博客中第一題一樣,源代碼中是三個字符串的疊加,warmup1 + lol + copter。
完成后瀏覽器會跳轉到第二題,我做這個題目的時候第二題不可用,所以讓直接輸入fail就通過了,為此比較簡單。
第三題的話比較復雜,不過我也投機了一下,看了原始的帖子,發現其中的Bacon和我這個題目相同,為此按照原帖的思路,
這個簡單,源碼中的 select name=”chosen”> 說明 name=”chosen” ,所以在當前的瀏覽器中輸入http://hax.tor.hu/warmup3/?chosen=Bacon 回車就到第四關。
進入第四關后,和原帖的辦法類似,不過不能類推。密碼不在源代碼中,而是要根據網頁的報文來獲得,先用telnet登陸,我使用的dos界面,也可以用putty這個工具實現。
輸入:
telnet hax.tor.hu 80
GET /pwfor4/ HTTP/1.0(原帖使用1.1,我這里使用的1.0才成功)
Host: hax.tor.hu
返回信息:

輸入密碼:spaceship即進入最后一關。
進入最后一關,會輸出一列加密后的數字串,然后讓找出原創的字符串,根據原始的辦法,是經過哈希表的加密之后的一個數字串,并且三位數的數字是不起作用的,標記位數。
然后依次輸入幾個字符串,得到加密后的數字串,去掉三位數的,然后觀察發現數字都集中在60~100,去掉另外一些不靠譜的數字,比如29,就得到相應的字母和數字的映射關系。
我此時獲得的關系如下(和原帖不同,具體自己做就知道)
83 69 66 89 92
d u n k
s i t e
68 94 67 82
l i n u x
91 94 89 66 79
a b c d e
86 85 84 83 82
具體的映射關系:
a:86
b:85
c:84
d:83
e:82
f:81
g:80
h:95
i:94
j:93
k:92
l:91
m:90
n:89
s:68
t:67
e:82
n:89
u:66
x:79
做完之后,根據已有的映射關系,結合一點語感(投機),我的解碼單詞應該是d*unk,猜測為drunk,輸入其中,果然正確,闖過5關,最后成功注冊。
剩余啥的工作就可以參照原始的帖子,來申請搭配空間了。