[TOC]
- 筆記本最後一頁,會找到一推看不懂的密文,以及一張 6 x 6 的 table。
-
稍微觀察一下,會發現這些數字都是介於 0 ~ 5 之間,因此推測應該是跟 row 和 column 的 index 有關。
-
"hao.kang."
似乎是一部分解開的明文,或許可以從這邊推敲看看加密的邏輯。- 假設每組數字代表的是
(row)(col)
,那麼05 10 32
就會得到x e 8
。 - 假設每組數字代表的是
(col)(row)
,那麼對應下來則是s l z
。 - 全部轉成 ascii code,會得到:
"hao" -> 104, 97, 111 "xe8" -> 120, 101, 56 (X) "slz" -> 115, 108, 122 (O)
- 觀察字母之間的間距,會發現
"hao"
平移+11
後會變成"slz"
。 - 用
"kang"
驗證一下,會發現這個推論是對的:"kang" -> 107, 97, 110, 103 "vlyr" -> 118, 108, 121, 114
- 假設每組數字代表的是
-
打星星的部分似乎是重點,直接對應下來,會得到:
140.115.59.92.azce.8000 => IP = 140.115.59.92 PORT = 8000
- 好像滿多人卡在這邊,因為中間夾了一串
"azce"
,直接連會連不上。這部分我們可能設計得不太好,因為凱撒加密預設是只處理英文的部分,不處理數字。因此,最後就變成了英文做 rotation 但數字不做,確實滿令人困惑的 😅
然後還有一個雷點,就是某人一開始寫明文訊息寫得很開心,一不小心就生出長度為 93 的密文了XDD 還好有學長們幫忙 debug 🙏
- 好像滿多人卡在這邊,因為中間夾了一串
- 發現了一個登入頁,但沒有帳密。
- 跑一下 dirsearch,就發現有
robots.txt
。
- 訪問
robots.txt
後,就得到一行字:Disallow: /53cR37
- 把
53cR37
載下來後,得到一組帳密artis / cut3
。
- 登入了以後,就可以看到聊天紀錄了。不過最後兩則訊息卻
[已被刪除]
。
- 如果按右上角的藍色 Profile,會進到 "artis" 的個人頁面。
- 如果是點聊天室中 "小辣椒" 的名字,則會進到 "小辣椒" 的個人頁。
-
從上面可以發現,只有
小辣椒
是 Admin 帳戶類型。- 如果用
小辣椒
的身份登入的話,好像就有機會看到被刪除的訊息了(?
- 如果用
-
看一下 HTML,會發現 LOG IN 按鈕是連到
login.php
。
- 直接連
login.php
,就得到 source code 了!:open_mouth:
- 稍微研究一下,會發現
$sql
那行有 injection 漏洞。- 前提是不能撈太多,只能撈出一行來。
- 如果用
小辣椒' --
,那麼整句就會變成:SELECT ... WHERE username='小辣椒' -- ' and password=''
- 這樣一來,就只會撈出一行來了。
這邊還有一個小雷點,就是 token 在還沒解開前好像就會跳出來XD 看來是測的不夠周全~
進階挑戰:使用 UNION 在網址列撈資料
[name=Yen]
-
接續上一關拿到的網址,進來會看到只有一個input
-
隨便輸入一點東西,會看到BOW的字樣,其實就是要玩家輸入BufferOverflow的垃圾padding
-
例如說,輸入60字會拿到N
-
最後全拿完會拿到NCtfU
-
輸入進去就可以到下一關了XD
[name=Artis24106]
-
由上一關最後的網址
https://drive.google.com/file/d/1OC5I9xM1KojHpYTuJKw-icUcFHL1p6UY/view
可以得到圖片qrcode.png
-
用手機掃描或是使用線上工具(如
https://zxing.org/w/decode
)可以得到 qrcode 訊息There is something 'in' the picture. Hint1: strings
-
提示1為
strings
。它是一個指令,會把檔案中的 printable characters 印出來。 -
於是使用
strings qrcode.png
可以在最下面看到Hint2: zsteg
... go{^ VY-Z @HXi i+1U bzEO y`be 7``O IEND Hint2: zsteg
-
原來是一場生日派對啊!!