剛好最近初賽結束,來寫個 write up ,不過不會寫的太詳細,意思有帶到就好,畢竟要截圖有點懶XD
這次忘記紀錄初賽選擇題考哪些...
大致跟往年差不多,只是多了 GDPR ,好像有一兩個考到 AI (?
然後往年的 BYOD ,今年有新出一個 COPE
然後 VPN 和 Windows 上面的鑑識也有考不少
基本覺得除了 GDPR 外,就差不多沒變啥。
比賽時分工我不是解術科的,是給對友解,這邊寫的是自己回家練習作的,然後解題目依照當時有提供的工具來作
試著找到隱藏在 App 裡面的 Flag 字串 flag{catchtheflag}
flag{123456} 答案請填寫為 123456
一般最簡單的逆向題就是想說找找相關字串
apk 常見基本題大概就是直接寫在 code 上面或是放在 strings.xml 中
這題是放在 strings.xml ,可以直接看到答案
這是從受害者電腦上錄製下來的封包,請嘗試著分析封包資訊,並且找到 flag 資訊
flag{123456} ,答案請填 123456
這題用 wireshark 打開來,直接搜尋 flag 就有答案...
執行輸入密碼,輸入正確的話會跟你說 You are Success !
flag 即是密碼
是說這題是我們這隊唯一解不出來,很無解到結束,因為當天只有給 OllyDbg 1.1 ,可是題目是 64 bits ...
後面出來聽到有人說用 visual studio 內的 debugger 解的- -
還有人說用 dev c++ 內的 objdump 解的= =
我是不知道 visual studio 是哪裡碰出來的,還是考場電腦本來就有=口=
然後官方是有給 dev c++ ,不過不知道裡面有 objdump 和 gdb ...
現在知道有 gdb 的話真的很棒...
簡單看一下可以知道,他會取我們輸入的前五個字
把他做 XOR 0x41 ,要等於程式的值,可以直接用 gdb
break 在 main+206 那邊,在看 al 的值,把他 xor 0x41 ,轉出來是
HelLO << 答案
解開壓縮檔就可以得到 flag
題目給了一個壓縮檔但打不開,看一下 file header ,改回 50 4b (PK) 即可
打開後得到一張 JPG ,用 binwalk 拿到裡面的壓縮檔,裡面有一張圖片
是一個經過凱薩加密後的 flag ,解回來即可
07a6c2cf43aac78ad09f9c57e8f65b71
flag{foo} foo 為你要填的 flag
因為長度是 32 ,所以可以知道是 md5
我看到寫程式的第一步,就想說是不是要直接暴力這個 hash 值
所以我就窮舉所有的大小寫英文和數字和標點符號,窮舉到第五個就卡很久 = =...
然後有一個隊友覺得寫程式的第一步 = 寫 hello world
結果算 flag{hello world} 就可以看到和題目給的一樣= =
真的太猜了