1. 程式人生 > >光棍節程式設計師闖關秀 writeup

光棍節程式設計師闖關秀 writeup

第1關 ctrl+a ~~

第2關 檢視頁面原始碼,複製貼上 回車~~

第3關 用firebug抓包,或者火狐谷歌瀏覽器自帶的開發者工具也可,就可以看見
The-Key-Is:a87ff679a2f3e71d9181a67b7542122c
抓包
把Key複製到URL上K= 後面即可
位址列

第4關 觀察密碼規律,看看原始碼沒什麼資訊,應該就是解碼題了,把上一關的key丟到MD5線上解碼上→→ http://www.cmd5.com/ 得到結果4,第4關對應4,那第5關就對應5吧,5用MD5加密,得到key : e4da3b7fbbce2345d7772b0674a318d5

第5關 一個二維碼圖片,先下載下來看看吧~
用記事本的方式開啟就能看到下面這樣
txt開啟


最後一行就寫著KEY了: bdbf46a337ac08e6b4677c2826519542

第6關: f4de502e58723e6252e8856d4dc8fc3b, 只能告訴你這麼多
看起來像是MD5,丟到MD5線上解密一下,付費記錄……
半天沒想到怎麼弄,就把那句話直接複製百度了一下,然後….
-.-
找到KEY:1573402aa6086d9ce42cfd5991027022

第7關 有問題就Google是個好習慣! 再試試 ba7022ec37557712eb7fd79dcafc783b
於是就把那串谷歌,什麼也沒有,試試直接放到位址列上,成功進入下一關,原來直接就把KEY放出來了….1+1問題麼233~

第8關 直接點回車試試,把KEY複製到URL上,都不行,看看頁面原始碼吧
這裡寫圖片描述
發現表單這裡是GET,改成POST後,再返回網頁上點回車,成功進入下一關

第9關 一大串2進位制,還要填空….沒什麼思路,百度了一下說為了應景雙11所以全部填上1111,然後轉10進位制再轉字元型。放上C++程式碼:

#include<cstdio>
#include<iostream>
using namespace std;
char s[10];
int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt"
,"w",stdout); while (scanf("%s",&s)==1) { int n,m=1; if(s[7]=='1') n=1; else n=0; for(int i=6;i>=0;i--) { if(s[i]=='1') { for(int j=0;j<7-i;j++) m*=2; n+=m; m=1; } } printf("%c",(char)n); } return 0; }

把網頁上的二進位制數全部複製到一個新建的input.txt裡,把__全部替換成1111,然後執行程式碼就能輸出一個output.txt檔案
這裡寫圖片描述
可以看出是base64編碼的,但是直接解碼出來是亂碼….
看網上攻略得知這是一個base64編碼的圖片,但是我怎麼都弄都沒法顯示出這個圖片orz,試著用瀏覽器加上圖片標記直接開啟看,圖裂了…..試了好久都沒解決,於是卡關了….
網上搜到的結果是圖片上寫著最後一關的key,輸入後則會恭喜通關orz