某種意義上來說,我們便是這兩趟並行的列車。時而同步,時而超越;時而別離,又時而團聚。但在某個時刻,我們終會踏上不同的旅途,各自遠去。
也只有到了那個時候,我們才幡然醒悟,這一別,便是雲海相隔、關山迢遞……
此刻我們縱然萬般無奈,有萬種情緒,但行途兩隔,最終也只能無可奈何,讓這緣分之花落去。如果這樣,那不如各自依靠在車窗前擺擺手,把思緒埋在心底,用微笑面對別離。
作者: 旅行者
CTFlearn – QR Code
題目:https://ctflearn.com/challenge/228
本題下載後是一個 QR Code,解碼後得到以下字串:
c3ludCB2ZiA6IGEwX29icWxfczBldHJnX2RlX3BicXI=
在最後看到 =
因此猜測可能是經過 Base64 編碼的字串,嘗試解碼得到以下字串:
synt vf : a0_obql_s0etrg_de_pbqr
這段字串看起來很像正常的英文片段,猜測可能經過位移,經過嘗試後發現是 ROT13,解碼後即可得到本題 flag。
CTFlearn – Rubber Duck
CTFlearn – Binwalk
CTFlearn – Hextroadinary
題目:https://ctflearn.com/challenge/158
題目中提供兩組 16 進位的數字,將這兩組數字做 xor 後轉成 16 進位就能得到本題的 flag。
JavaScript 程式碼:
(0xc4115 ^ 0x4cf8).toString(16)
CTFlearn – Don’t Bump Your Head(er)
題目:https://ctflearn.com/challenge/109
根據題目敘述,送出正確的 header(s) 才能得到本題 flag,首先嘗試直接訪問,看會得到什麼。
回應說明 User-Agent 不正確,而最下方有註解提示,因此嘗試使用此值當作 User-Agent。
這次得到的訊息是來源(Referer)不正確,要是 awesomesauce.com
,帶入此值後再次送出。
這次終於拿到本題 flag。
CTFlearn – Exif
CTFlearn – BruXOR
題目:https://ctflearn.com/challenge/227
題目說明要使用 xor 得出對應 flag,並且提到要暴力破解,因此僅需一次嘗試即可得到對應 flag。
JavaScript 參考程式碼:
const encoded = `q{vpln'bH_varHuebcrqxetrHOXEj`;
for (let i = 1; i <= 255; ++i) {
const decoded = encoded.split('').map((char) => String.fromCharCode(char.charCodeAt(0) ^ i)).join('');
console.log(`${i}: ${decoded}`);
}
CTFlearn – Vigenere Cipher
題目:https://ctflearn.com/challenge/305
本題是維吉尼亞密碼的密文解密,透過工具和題目中提供的密鑰即可解開得到 flag。
CTFlearn – WOW…. So Meta
題目:https://ctflearn.com/challenge/348
檔案:
本題是一個圖片檔,第一個嘗試的方向一樣是從 EXIF 尋找 flag,這次直接就在圖片的 EXIF 得到本題的 flag。