之前混百度空間混久了践啄,認識很多大牛屿讽,不乏monyer大牛吠裆。很早很早以前,他做了一個黑客小游戲诵棵,當時還不太會玩效斑,現(xiàn)在突然打開發(fā)現(xiàn)缓屠,網(wǎng)站竟然還活著,決定重溫經(jīng)典储耐。
第零關(guān)
請點擊鏈接進入第1關(guān): 連接在左邊→ ←連接在右邊
可是我們看不到鏈接地址滨溉,直接打開審查工具长赞。
<span>連接在左邊→</span>
<a href="first.php"></a>
<span>←連接在右邊</span>
好的輸入地址得哆,我么進入第一關(guān)
第一關(guān)
http://monyer.com/game/game1/first.php
打開頁面依然是什么都沒有哟旗,這很正常闸餐。審查工具看代碼。
<script type="text/rocketscript" data-rocketoptimized="true">
function check(){
if(document.getElementById('txt').value==" "){
window.location.href="hello.php";
}else{
alert("密碼錯誤");
}
}
</script>
好了 我們知道密碼了近上,并且知道下一關(guān)的文件是hello.php
第二關(guān)
http://monyer.com/game/game1/hello.php
審查工具看源代碼拂铡,head中
<script type="text/rocketscript" data-rocketoptimized="true">
document.oncontextmenu=function(){return false};
var a,b,c,d,e,f,g;
a = 3.14;
b = a * 2;
c = a + b;
d = c / b + a;
e = c - d * b + a;
f = e + d /c -b * a;
g = f * e - d + c * b + a;
a = g * g;
a = Math.floor(a);
function check(){
if(document.getElementById("txt").value==a){
window.location.href=a + ".php";
}else{
alert("密碼錯誤");
return false;
}
}
</script>
現(xiàn)在是2016年了感帅,我們不需要手算和計算器了。直接在chrome的console里輸入
var a,b,c,d,e,f,g;
a = 3.14;
b = a * 2;
c = a + b;
d = c / b + a;
e = c - d * b + a;
f = e + d /c -b * a;
g = f * e - d + c * b + a;
a = g * g;
a = Math.floor(a);
424178
好的我們知道a的值是424178拒迅,輸入璧微,進入下一關(guān)
第三關(guān)
http://monyer.com/game/game1/424178.php
head中存在js
<script type="text/rocketscript" data-rocketoptimized="true">
eval(String.fromCharCode(102,117,110,99,116,105,111,110,32,99,104,101,99,107,40,41,123,13,10,09,118,97,114,32,97,32,61,32,39,100,52,103,39,59,13,10,09,105,102,40,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,39,116,120,116,39,41,46,118,97,108,117,101,61,61,97,41,123,13,10,09,09,119,105,110,100,111,119,46,108,111,99,97,116,105,111,110,46,104,114,101,102,61,97,43,34,46,112,104,112,34,59,13,10,09,125,101,108,115,101,123,13,10,09,09,97,108,101,114,116,40,34,23494,30721,38169,35823,34,41,59,13,10,09,125,13,10,125));
</script>
新時代無須解釋前硫,直接上chrome consle
String.fromCharCode(102,117,110,99,116,105,111,110,32,99,104,101,99,107,40,41,123,13,10,09,118,97,114,32,97,32,61,32,39,100,52,103,39,59,13,10,09,105,102,40,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,39,116,120,116,39,41,46,118,97,108,117,101,61,61,97,41,123,13,10,09,09,119,105,110,100,111,119,46,108,111,99,97,116,105,111,110,46,104,114,101,102,61,97,43,34,46,112,104,112,34,59,13,10,09,125,101,108,115,101,123,13,10,09,09,97,108,101,114,116,40,34,23494,30721,38169,35823,34,41,59,13,10,09,125,13,10,125)
輸出為
function check(){
var a = 'd4g';
if(document.getElementById('txt').value==a){
window.location.href=a+".php";
}else{
alert("密碼錯誤");
}
}
好了我們知道了荧止,密碼是d4g跃巡,下一關(guān)!
第四關(guān)
http://monyer.com/game/game1/d4g.php
這一關(guān)非常猥瑣外莲,頁面會自動跳轉(zhuǎn),稍有不注意磨确,就跳走了声邦。
打開后立即按esc停止。
<script type="text/rocketscript" data-rocketoptimized="true">
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--)d[c.toString(a)]=k[c]||c.toString(a);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('a="e";d c(){b(9.8(\'7\').6==a){5.4.3=a+".2"}1{0("密碼錯誤")}}',15,15,'alert|else|php|href|location|window|value|txt|getElementById|document||if|check|function|3bhe'.split('|'),0,{}))
</script>
顯然這是一個加密的js,我們需要解密歇式,上解密工具:
解密后:
a = "3bhe";
function check() {
if (document.getElementById('txt').value == a) {
window.location.href = a + ".php"
} else {
alert("密碼錯誤")
}
}
密碼是 3bhe 下一關(guān)
誒胡野?怎么不對?仔細檢查源代碼發(fā)現(xiàn)下面還有一行
eval("\141\75\141\56\164\157\125\160\160\145\162\103\141\163\145\50\51\53\61\73");
解密硫豆!
a = a.toUpperCase() + 1;
.toUpperCase()是轉(zhuǎn)換大寫,所以密碼是 3BHE1 下一關(guān) go
第五關(guān)
http://monyer.com/game/game1/3BHE1.php
密碼在哪兒熊响?額,我藏在頁面里了哦秸弛!
這題的難點在于 找到不密碼藏在哪里了 搜索了個遍 就是找不到密碼 看看http頭呢洪碳?
找到了,在cookie里
monyer:the password for the next level is asdf
下一關(guān)绞铃!
第六關(guān)
http://monyer.com/game/game1/asdf.php
是個線索題目
Get the latest fashion, beauty, dating, and health tips. Plus, win freebies, take quizzes, and check your daily horoscope! Girl Games - 9000+ Free Games for Girls ...
真蛋疼
把這個線索在網(wǎng)上一搜 第一個已經(jīng)是一個結(jié)題方案了儿捧,看來monyer的游戲已經(jīng)成功干過一個網(wǎng)站了挑宠。
這個答案是各淀;seventeen
第七關(guān)
http://monyer.com/game/game1/seventeen7.php
社工題
先解密md5吧
5e023995fb3f5e840ee684784f8f0799
解密出 eighteen8
下一關(guān)
第八關(guān)
http://monyer.com/game/game1/eighteen8.php
直接看到 一個404 不要著急 審查工具
<p style="display:none">
第8關(guān)
朋友您好,第8關(guān)歡迎您疗我!
我對您的聰明才智感到驚訝!
相信我旧找,現(xiàn)在世界上85%以上的人都在你之下麦牺,
所以你可以大步向前,義無反顧地進行你的事業(yè)了魏颓。
因為只要你肯努力甸饱,不畏懼挫折仑濒,這個世界上沒有難倒你的事。
那么繼續(xù)我們的約定驼壶,我將告訴你第9關(guān)的入口:
10000以內(nèi)所有質(zhì)數(shù)和.php
</p>
10000以內(nèi)所有質(zhì)數(shù)和喉酌,so easy泪电!寫個javascript 算一下。
var sum = 0;
for (var i = 2; i < 10000; i++) {
var flag = true;
for (var j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) flag = false ;
}
if(flag) {sum = sum + i;}
}
console.log(sum);
5736396
下一關(guān)
第九關(guān)
http://monyer.com/game/game1/5736396.php
在命令行里輸入:
wget http://monyer.com/game/game1/img/4681851790659554.jpg
cat 4681851790659554.jpg
密碼藏在圖片里
???^?v??*{I?z??^?i?SRW?V?6?Z??(????H???????????
??????????????
???????????????????????......??
?????
????????????MonyerLikeYou_the10level
?????????漰????????????????????????????????????
??????????????%
MonyerLikeYou_the10level
第十關(guān)
http://monyer.com/game/game1/MonyerLikeYou_the10level.php
當前用戶身份為simpleuser 不是admin股冗,無法顯示下一關(guān)密碼
很顯然這是一道session/cookie欺騙題
在console里直接輸入
document.cookie="username=admin"
刷新
好聰明哦止状!下一關(guān)密碼為:doyouknow
下一關(guān)攒霹!
第十一關(guān)
http://monyer.com/game/game1/doyouknow.php?action=show_login_false
你的session不是passer催束,不能查看下一關(guān)密碼
在console里直接輸入
document.cookie="username=passer"
刷新,好像不對哦塔淤,monyer騙我,哼聪黎!
再看標題 action=show_login_false
http://monyer.com/game/game1/doyouknow.php?action=show_login_true
您的session為passer备恤,所以您可以查看下一關(guān)密碼:smartboy
下一關(guān)露泊!
第十二關(guān)
http://monyer.com/game/game1/smartboy.php
JTRBJTU0JTYzJTdBJTRBJTU0JTVBJTQ3JTRBJTU0JTU5JTc5JTRBJTU0JTU5JTMxJTRBJTU0JTU5JTc4JTRBJTU0JTYzJTMxJTRBJTU0JTYzJTMwJTRBJTU0JTU5JTM1JTRBJTU0JTU5JTMyJTRBJTU0JTYzJTMxJTRBJTU0JTVBJTQ0JTRBJTU0JTRBJTQ2JTRBJTU0JTYzJTc3JTRBJTU0JTU5JTM0JTRBJTU0JTYzJTc3
直覺告訴我,這顯然是Base64 解密
%4A%54%63%7A%4A%54%5A%47%4A%54%59%79%4A%54%59%31%4A%54%59%78%4A%54%63%31%4A%54%63%30%4A%54%59%35%4A%54%59%32%4A%54%63%31%4A%54%5A%44%4A%54%4A%46%4A%54%63%77%4A%54%59%34%4A%54%63%77
直覺告訴我侣姆,這顯然是 UrlEncode 解密
JTczJTZGJTYyJTY1JTYxJTc1JTc0JTY5JTY2JTc1JTZDJTJFJTcwJTY4JTcw
直覺再次告訴我脖咐,這顯然是 Base64 解密
%73%6F%62%65%61%75%74%69%66%75%6C%2E%70%68%70
直覺再次告訴我屁擅,這顯然是 UrlEncode 解密
sobeautiful.php
不錯 密碼就是sobeautiful
第十三關(guān)
http://monyer.com/game/game1/sobeautiful.php
本頁禁止盜鏈产弹!
wtf..顯然他判斷了http來源痰哨,需要偽造http referer,那么我們在之前的第十二關(guān)的審查代碼中加入:
<a > 簡便偽造referer</a>
歡迎您來到第13關(guān)
請輸入密碼進入第14關(guān):
沒有輸入密碼 或 密碼錯誤 或 系統(tǒng)錯誤早抠!
看源代碼有post提交
這是一道SQL 注入題
試試我大萬能密碼撬讽!
' or 1=1
萬能密碼熟記于心
下一關(guān)密碼:whatyouneverknow
下一關(guān)游昼!
第十四關(guān)
http://monyer.com/game/game1/whatyouneverknow.php
感謝@Echowxsy提供第14關(guān)解密過程
![](https://raw.githubusercontent.com/yfgeek/yfgeek.github.io/master/content/images/monyerhack/01.jpg)
![](https://raw.githubusercontent.com/yfgeek/yfgeek.github.io/master/content/images/monyerhack/02.jpg)
![](https://raw.githubusercontent.com/yfgeek/yfgeek.github.io/master/content/images/monyerhack/03.jpg)
![](https://raw.githubusercontent.com/yfgeek/yfgeek.github.io/master/content/images/monyerhack/1.jpg)
![](https://raw.githubusercontent.com/yfgeek/yfgeek.github.io/master/content/images/monyerhack/2.jpg)
![](https://raw.githubusercontent.com/yfgeek/yfgeek.github.io/master/content/images/monyerhack/3.jpg)
![](https://raw.githubusercontent.com/yfgeek/yfgeek.github.io/master/content/images/monyerhack/5.jpg)
第十五關(guān)
![](https://raw.githubusercontent.com/yfgeek/yfgeek.github.io/master/content/images/monyerhack/4.png)