用 IPython notebook 解 HITCON 2014 CTF

Posted by TJ Wei on 星期三, 8月 20, 2014 with No comments

因為看到新聞上面說有六百多隊報名(後來看到是 1000 隊左右, 500 隊有分數),而且免費,所以就上去玩玩看。
由於最近在熟悉 IPython notebook,所以毫不意外的都是在用 IPython notebook 解題。
最後只解了七題,排在 50 。
一開始完全沒進入狀況,光在 vash 就卡了很久。看到 /home/vash/flag 的內容後,完全不知道這個內容要拿來做什麼。
等到再有時間的時候,已經是半夜,然後還是卡了一陣子,才發現原來 dashboard 最下面有個 textinput,用來輸入 flag 的內容。

題目還挺有趣的,除了一開始摸索到底要作什麼的挫折外(怪我自己不夠專心),還挺像是猜謎的。
相關的 ipynb 檔案可以參考 http://nbviewer.ipython.org/github/tjwei/tjw_ipynb/tree/master/ 中的檔案。

一些小心得如下:

  • 解 diagcgi 的時候,看了一下別人留下的痕跡,就發現了我的解法可能和很多人不太一樣。
  • 解 maze 時,利用 ipython notebook widget 圖形界面來畫地圖的感覺不錯。主要卡關的地方在於 pyte 的相容性不足,導致跑到某個點的時候,地圖會解讀錯誤。
  • Puzzle 看來挺有趣的。但因為不想再重新讀一遍 jpeg 的規格,就抓一個 win32 jpeg 修復器 shareware 來修復(用 wine 來跑)。修復之後的圖片,中間有一塊黑色區塊。一直參不透玄機。所以就沒有完成。 後來才發現原來中間的黑塊是 shareware 造成的。後來改用 nanojpg 來完成。
  • 24 一開始想偷懶,上網找別人寫好的解答。很不幸,找到的解答犯了一個常見的錯誤,沒辦法解 12,12,12,10。 只好自己再寫一次。而且很有經驗的使用有理數來保證數學上的正確性。很不幸的是,題目的思考架構不同,所以只好又再改回浮點數,程式就變得很醜。



Categories: