SWCTF 0x7e4 Writeups

2021 首篇!! 新年快樂~
這場 SWCTF 由 逢甲大學黑客社靜宜大學行雲者研發基地台中科技大學資訊研究社 聯合設計的 CTF 競賽。
雖然還在忙碩論,但想到之後還要打 AIS3-EOF 所以還是加減摸一下。
記錄一下曾經卡住、或是第一次遇到的有趣題目(?),雖然說 Crypto 真的都偏通靈,實在有點頭痛QQ

感謝 展哥MuMu 賽後替我解惑一下沒解開的題目wwwww
附上官方解 https://hackmd.io/@swctf/writeups

附上人權圖,差不多是 Rank 1 一半的分數,我好爛QQ
有些通靈題和 Flag 大小寫害我正確率爛掉wwwww

NOKIA 3310 (靜宜-Crypto, Score: 200)

你知道如何使用手機傳簡訊嗎?

626352432143742174713223432153619381428142218193638252626391

-

將數字兩兩一組,分別是 按鍵 & 按幾次。

SWCTF{NOKIAISASPECIALMYTHTHATYOUKNOW}

(結果被大小寫雷了一次WA ==)

A letter (靜宜-crypto, Score: 200)

嘿!你還記得我們第一次見面你告訴我的「不可破譯的密碼」嗎?這次我把關鍵內容放在這首詩裡,或許你能夠解讀出我想告訴你的話。

Released file (pdf)

-

打開 PDF 就看到一串密文,我人很好直接幫你打在下面 ^_^

Kzwrsomklpp_Evfvtukb_ju_mj_hyvqevjxq_rqe_rdfipwzu_dt_Etzqfuq

題目說到「不可破譯的密碼」,拿去 Google 就會得到 Vigenère cipher ,那有了密文之後… key勒?

其實整個 PDF 的線索就那幾個,像是把左上角的 CMRDB 拿去當 key 丟到 Cryptii 就會有 Flag 了XD

SWCTF{Information_Security_is_as_extensive_and_profound_as_Chinese}

MOS (靜宜-crypto, Score: 275)

你工作上的前輩要離職了 前輩在把工作交接給你的時候把有加密的USB和兩串摩斯密碼給你 「這裡面有我們珍藏的片子,去解開它,然後傳承下去!!」

  1. 請轉成大寫
  2. 第二行為key
  3. %u7b為”{“
  4. %u7d為”}”
1
2
.-.. ...- . --.. -.-- ----.-- .--- .---- .- --- -..- --- --. ----- -.- -.... -.-- .-.. -.-. .--- .--.-. --... -.-- .. -..- .-.. -----.-
--.- .-- . .-. - -.-- ..- .. --- .--. .- ... -.. ..-. --. .... .--- -.- .-.. --.. -..- -.-. ...- -... -. --

-

題目很好心的跟你說是 Morse code,還給一堆提示,那就找個線上工具還原ㄅ,會得到下面兩串。

1
2
LVEZY#[email protected]#
QWERTYUIOPASDFGHJKLZXCVBNM

一開始還以為第二行的 key 是指 Vigenère cipher ,結果不是… 是對應英文字母XD

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
Q W E R T Y U I O P A S D F G H J K L Z X C V B N M

保留數字和特殊符號,還原後整理成 Flag 就能送出去了( Flag 居然是無意義的字串) = w =

SWCTF{[email protected]}

Base-X (逢甲-Crypto, Score: 200)

聽說駭客聊天時,動不動就要把訊息編碼

wpZTV0NURntCYXNlNjRfdEhlX0xhTkdVNDZlX09mX2g0Q2szcnN9Cg==

-

不囉唆,Base64。

$ echo "wpZTV0NURntCYXNlNjRfdEhlX0xhTkdVNDZlX09mX2g0Q2szcnN9Cg==" | base64 --decode

SWCTF{Base64_tHe_LaNGU46e_Of_h4Ck3rs}

左右分不清 (逢甲-Crypto, Score: 200)

有個都市傳說:
凌晨 3 點沿著操場跑 1600 公尺會回到起點 ~(>_<。)\

RVBSE{QNS_5TooNQsr_tOO3q_KNvdQbzRd}

-

Caesar cipher,推薦ㄍ好用的網站 https://planetcalc.com/1434/

SWCTF{ROT_5UppORts_uPP3r_LOweRcaSe}

N=pq (逢甲-Crypto, Score: 200)

RSA 是世界著名的加密演算法,沒記錯的話用很大的 N 當作加密參數好像就很安全?
算了反正應該沒人能破解我加密過的 flag : )

N = pq = 16857159784242147958930006036274524315067659003347665436247836447121615960042560515473548747696129683
e = 65537
encrypted_flag = 4133875657690452080396474983972067706781976275589651694439550567678165824984290994659861724649235686

-

隨意找個 RSA 線上工具即可,當然能自己刻個 code 工具會更好www

解出來會是

(Decimal)
37696146816110213689299726858207805170794163239535976391601058414329946927997

(Hex)
53574354467B695F64306E375F6B6E6F775F686F775F5253415F576F726B737D

(ASCII text)
SWCTF{i_d0n7_know_how_RSA_Works}

最後解出來的 Decimal 送了很多次 WA,問了學弟才知道還要先轉 Hex 才能轉 ASCII,其實沒有很了解為何需要多這一層 = w =

平常 RSA 的題目不是都直接把 Decimal 外面套 Flag 格式就行了嗎QQ

SWCTF{i_d0n7_know_how_RSA_Works}

Advanced SQL Injection (靜宜-Web, Score: 200)

為了跟上 TIM 哥的腳步,小明持續深入研究 SQL Injection,聽說有種手法是利用 Union 作攻擊
http://swctf.hackersir.org:20000/

-

一開始隨意用 admin : admin 弱密碼不小心成功登入,頁面顯示

Hi, admin
The flag is in the database.

(賽後翻到前端 F12 的 source code 也有給這組帳密XD)

關於 UNION 剛好近期才練習過類似的題目 NSYSU 駭客攻防 HW 0x02 Writeups,套路上差不多。

先用 ' ORDER BY 1 -- 確認到 5 的時候會噴 ERROR,而且資料庫是 SQLite3。
再來就是想辦法用 UNION SELECT 搭配 SQLite Injection 把 Flag 從資料庫中撈出來。

對了,可以注意到登進去的頁面只會顯示第二欄的訊息,也就是下手目標。

// 找版本: 3.27.2
' UNION SELECT NULL,sqlite_version(),NULL,NULL FROM sqlite_master --
// 找table名稱: flag
' UNION SELECT NULL,tbl_name,NULL,NULL FROM sqlite_master --
// 通靈一下從 表格flag 撈 flag ... Bingo!!
' UNION SELECT NULL,flag,NULL,NULL FROM flag --

中間省略了很多過程,基本上都是在嘗試各種戳法www

SWCTF{c0ngratu1ati0n5_u_find_th3_f1ag}

🐘 (靜宜-Web, Score: 200)

PHP is the best language in the world
http://swctf.hackersir.org:20003/

-

題目很單純,就是考 PHP 弱型別繞過。

1
substr(md5("CMRDB" . "Your Answer"), 0, 6) == md5("s1885207154a")

結果我被那個 CMRDB 嚇到,想說難道只能硬爆!?
這時展哥剛好路過表示應該有工具吧(結果沒找到),直接把code生出來 ==

1
2
3
4
5
6
7
8
9
10
11
12
13
import hashlib
import random
import string
import re

while True:
answer = "".join(random.choices(string.ascii_uppercase + string.digits, k=4))
md5 = hashlib.md5()
md5.update(f"CMRDB{answer}".encode())
value = md5.hexdigest()
match = re.match(r"0e\d{4}", value)
if match:
print(answer, value)

硬爆不難,反倒是有很多答案可以戳(k=4 的情況下就跑一堆)

1
2
3
4
5
6
7
C1Q5 0e51348aeac13f5a8bb7ba82d82a7395
XFPP 0e42173960df205b0920e0143b01a837
A3VM 0e52395734dd8c5b5107d8439c0e1eb5
1IPQ 0e3719bd0d1dc55c56e72837a84aaaf1
AFVA 0e2255ad3cbfc0cef725bb013f13ecce
...
...

k=2 的情況下只有一組解(3D),直接輸入就能拿 Flag 了。

SWCTF{[email protected]_15_md5}

Git (靜宜-Web, Score: 200)

小明為了學習網頁安全,正在學習如何撰寫網頁,並且使用工程師必備工具 git 做版本控管。
http://swctf.hackersir.org:20001/

-

題目蠻明顯就是 git 了,只是一開始戳 /.git/ 居然是 404(?)
腦洞一下戳 /git/ 就噴 403 Forbidden,直接拿工具 GitHacker 把檔案 Leak 出來。

P.S. 賽中官方有修正這個問題,猜測是原本放在 Github 不能同時存在兩個 .git,所以 pull 下來忘了改檔案XD

$ git log --oneline
8266d82 (HEAD -> master) add my first website page and delete flag.txt
aa54633 add flag.txt

可以發現上一版有新增過 Flag,直接還原即可。

$ git reset --hard HEAD~1

SWCTF{g1t_13ak_15_easy}

матрёшка_1 (中科-Misc, Score: 200)

There are too many fake files and fake folders, I think the scripting languages can help me solve it.

Released file (zip)

-

載下來的檔案有近 20 MB,偷偷用 zipinfo 可以看到一大堆 Flag 目錄,估計是希望我們從中大海撈針。
(P.S. 來路不明的壓縮檔案可能會有 Zip bomb

再來直接下指令就可以拿 Flag 了。

grep -rn '.' -e 'CTF'

不過個人平常找資料都是 -rnw,導致這題莫名卡住。
最後是用 VSCode 大法,內建搜尋XDDDD

SWCTF{SH4D0W_CL0N3_JUT5U!!!}

матрёшка_2 (中科-Misc, Score: 200)

Do you know how to unzip this quickly?

Released file (zip)

-

遞迴解壓縮的裸題,不過說實在自己還是不太會摳 shell script,原本想找時間練一直錯過。
這次是從學弟那邊學 PowerShell 的寫法,如果指令不縮寫給人很專業的感覺(X)

寒假看能不能找時間練這一類的解壓縮題目,不行每次都靠隊友啊QQ

1
2
3
4
5
while($?){
Expand-Archive *.zip -DestinationPath ./Zip
Remove-Item *.zip
Move-Item Zip/* ./
}

解到最後會是張含有 base64 的圖片,還要手動還原 ==

SWCTF{ZIP_FILE_1S_SUCK!!}

code (中科-Crypto, Score: 200)

1 and 0 can represent everything

1111111011101011001111111
1000001001100111001000001
1011101000001101001011101
1011101000111001101011101
1011101010110000001011101
1000001000100101101000001
1111111010101010101111111
0000000010001001000000000
1001111111101110111010001
1111110100001011111011010
1100101011000100010101000
1100100000010000101111110
0001111000101001111100111
1100110011001100110011001
1011101101100111011101100
0011000100110011001000011
1101101001100110111110110
0000000010011000100011101
1111111011001100101011001
1000001010111011100011100
1011101011001100111111001
1011101010100100100010000
1011101000110001000111010
1000001001010001100001111
1111111011010101110001001

-

原本還沒什麼頭緒,拿遠一點發現是 QR code XD
我用 Python 畫圖,學弟用 MS Word 方塊取代法還原
事後轉念一想,幹這早該有工具了吧 … 嗯也不意外啦 binary-to-qrcode

笑死。

SWCTF{QRRQRRQQQQRRRQRRQR}

PNG (靜宜-Misc, Score: 200)

你所在的部隊規定傳達訊息時,必須隱藏在圖片中 而傳送圖片的過程中因不明原因損毀 請嘗試修復並找出訊息

Released file (Unknown)

-

載下來的檔案用指令 file 看到是純 data,不過題目也提示是 .png 了。
用 hex editor 根據 PNG wikipedia 恢復 Header 的檔案結構吧,修改同時也可以搭配 pngcheck 檢查。

修完會發現圖片可以成功點開 … 但還沒結束 XD

拿去丟圖片題萬用網站 https://aperisolve.fr/ (或是跑指令 zsteg),可以發現是 Flag 是用 LSB 藏起來。

SWCTF{QTQi3NcgqFcB5RJNvyqe}

Loseless Flowers (逢甲-Misc, Score: 367)

冬天在家賞花其實也不錯,而且照片拍得這麼漂亮

Released file (png)

-

直接拿去丟圖片題萬用網站 https://aperisolve.fr/ (或是跑指令 exiftool),在 ExifTool 的解析部分可以找到 IFD0 有段網址 https://pastebin.com/AQ4WqdsQ ,以及 XMP-MICROSOFT 藏有對應的密碼 [email protected]@Upteu,結束。

SWCTF{MY_CaMeRa_1s_Bet7er_tH4n_yOur5}

CoolMD (逢甲-Web, Score: 200)

作筆記再也不用煩惱太單調了
https://hackmd.io/@swctf/CoolMD/

-

第一次遇到用 HackMD 出題,直接 F12 摸一下就有 Flag 了。

SWCTF{coOL_CSsY_Cha7_r0om}

Evil Robots (逢甲-Web, Score: 200)

機器人什麼都拿,要是連 flag 都被拿走那怎麼辦?
http://swctf.hackersir.org:20200/

-

簡單 Web,直接從 robots.txt 找到目錄 /nguinwiuniueniuw/hawuohudsoihfifiofs.php,結束。

SWCTF{d0nt_iNDex_7HE_Fl46}

Stupid Session (逢甲-Web, Score: 200)

好想當管理員,但只有測試帳號能用 …
http://swctf.hackersir.org:20203/
測試帳密:test : test

-

用題目給的帳號登入後,可以看到「您收到了來自FBI的一封私訊,請登入管理員 (admin) 帳號查看!」。
所以我們直接從 cookie 下手,這裡推薦 Chrome 套件 EditThisCookie,從網站 cookie 可以看到在 login_info 用 URL decode 後是一串 序列化(serialization) 結構,如下。

a:1:{s:8:"username";s:4:"test";}

那我們就把 test 改成 admin ㄅ!

a:1:{s:8:"username";s:5:"admin";}

記得 URL encode 再拿去改 cookie,按下綠色勾勾後 F5 重新整理,拿 Flag 。

SWCTF{C00K1eS_aR3_very_u53FuL}

Notifications (逢甲-Web, Score: 200)

出題者喜歡吃什麼? 猜對了就給 flag
https://swctf.hackersir.org:20202/
本題請允許網站顯示通知,以獲得完整體驗

-

一開始就沒打算猜www 果不其然兩個選項都拿不到 Flag ㄏ

SWCTF{SeRVICE_woRker_n3w_SubsCRiber}

Popping Meow (逢甲-Reverse, Score: 200)

喔不,Pop Cat 想找你/妳聊天,結果一不小心擋住 flag 了 :/

Released file (apk)

-

原本想說難得遇到 apk 逆向題,無聊strings一下 … 欸?

$ strings popping_meow.apk | grep "CTF"

SWCTF{Ju1cY_Apk_resouRcES}

Python2Exe (逢甲-Reverse, Score: 239)

曹操心機很重,想取得旗幟必須喊出友軍口號!

Released file (exe)

-

工具題,用 pyinstxtractor 再從提取出來的檔案直接 grep Flag。

SWCTF{PyThon_Scr1PT_kiddiES}

password (中科-Reverse, Score: 200)

Find the password if you can!

Released file (exe)

-

exe 跑起來會要求輸入密碼,直接用 IDA 拆就會看到 password 了。

BTW,IDA 拆看到輸出的部分是 SWCTF{%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c},實在沒看懂怎麼撈 Flag 字串出來的==

SWCTF{W33K_P455W0RD_XD}

func (中科-Reverse, Score: 275)

Jump or not jump?

Released file (exe)

-

用 IDA 拆一拆發現加密規則。

簡單摳一下還原,結束w

1
2
3
4
arr = [0, 3, 17, 29, 8, 60, 114, 60, 116, 13, 125, 17, 32, 52, 120, 122, 41, 11, 34, 58, 59, 33, 49]
key = "STRINGCHARINTFLOATDOUBLE"
flag = "".join([ chr((arr[i]) ^ ord(key[i])) for i in range(23) ])
print(flag)

SWCTF{1t5_4_tr45h_func}

easy reverse (靜宜-Reverse, Score: 200)

Released file (exe)

-

起手式 strings,結束。

$ strings easy_reverse.exe | grep "CTF"

SWCTF{fm42kb1.gvf}

Let’s Dance (靜宜-Crypto, Score: 200, Unsolved)

福爾摩斯將訊息進行字母替換並使用某次案件的暗號,將其與助手共享。在此次案件中福爾摩斯的助手在一張紙上留下訊息暗號。

-

這題應該算是… 不會用 Google 吧==
賽後直接搜尋 “dancing man decode” 就有解了幹XD

另外要注意的是別用 dcode.fr 的表,那個太多細節會很痛苦==
還有,Flag 是全小寫,所以可以無視題目中的旗子(感謝 MuMu 提醒)
事實證明,再簡單的題目還是會有人寫不出來,沒錯 就是我QQ

總之,奇怪的知識增加了.jpg

SWCTF{the_murderer_is_the_author}

Prison life (靜宜-Crypto, Score: 392, Unsolved)

或許學會如何與囚犯溝通也很重要。

Released file (txt)

-

原本看到一堆點還在猜 Morse code,然後從標題慢慢找去奇怪的方向 Orz
結果原來是 Tap code,以後在監獄也能聊天了(X)

另外也有線上工具可以直接轉 https://cryptii.com/pipes/tap-code

SWCTF{yiyuejidingwanshanwuzu}

天雨粟 鬼夜哭 (靜宜-Crypto, Score: 488, Unsolved)

小邪手中握著三叔留給他的訊息,看著爺爺書櫃裡的《淮南子》、《說文解字》、《呂氏春秋》、《荀子》、《韓非子》、《大正藏》被擺放的十分整齊,回想著三叔說過的話:「這些書裡紀錄了一位你爺爺的非常尊敬的人,他和文昌帝君有所關聯。這張紙上除了我們現代的編譯還用了因那位人物所衍伸出的智慧,我相信小邪一定可以破解。」 紙條內容:
BJ4X06T/65K3DK3QU/6VUP45J/U6FU,4U6C04

提示1: flag 中的英文字母皆為大寫

-

只知道用注音的方式拼出來應該是「入雷城者可平心中一切遺憾」,然後… 就沒有然後了

官方解 https://hackmd.io/@swctf/writeups/%2Fs%2FHkxeTpu6w#天雨粟-鬼夜哭

(哭啊 也太通靈… 還要用倉頡對鍵盤字母 =w= )

Historic Site Tour (靜宜-Crypto, Score: 499, Unsolved)

還記得曾經說過要介紹家鄉的古蹟給你,但一直沒機會,不如就用這次機會讓你自己走一遭吧!我把他們的座標給你,期待你把這些重要的古蹟找出來!(若是英文則皆為小寫)

提示1: flag 是小寫英文串連而成
提示2: flag 中無空白

-

官方解 https://hackmd.io/@swctf/writeups/%2Fs%2FHkxeTpu6w#Historic-Site-Tour

(有點通靈… 不過想法蠻有趣的XD 但官方都不怕我們座標寫歪找不到地標嗎XD)

GIForever (逢甲-Misc, Score: 200, Unsolved)

QR-Code 裡似乎藏著什麼訊息

Released file (gif)

-

這題我傻眼XDDDD
由於 MacBook 內建的預覽程式會自動把 .gif 每一幀都列出來,賽中打開發現四張 QR 圖,第一個想到的是要去背把圖片疊在一起掃… 結果賽後才知道原來只是把 Flag 拆成四段的QR code,幹!! 背景的うまる可愛歸可愛,還真的有混淆到我QQ

非 MacBook 使用者可以用 stegsolve ,把圖片匯入後從選單按 Analyse > Frame Brower 就可以把每一幀拿出來掃 QR code 了。

SWCTF{UMarU_CRYin6_f0R3vEr_QAQAQ}

Special RAR (逢甲-Misc, Score: 200, Unsolved)

這個 RAR 其實隱藏著不為人知的秘密

Released file (rar)

-

官方解 https://hackmd.io/@swctf/writeups/%2Fs%2FHJs9tbpRv#Special-RAR

(太針對軟體 我覺得不行== …不過 7-Zip 可以看到其他檔案真的長知識了)

What Does the Wolf Say (逢甲-Misc, Score: 200, Unsolved)

有玩過 Minecraft 嗎?至少我沒見過這麼酷的狼 (⊙_⊙;)
(存檔適用版本 1.16.4;不需開啟遊戲即可解題)


Released file (zip)

-

用 NBT editor 線上工具打開 /playerdata/ 的 .dat 摸一下就有 Flag 惹。

官方解 https://hackmd.io/@swctf/writeups/%2Fs%2FHJs9tbpRv#What-Does-the-Wolf-Say

(細節還沒搞懂QQ)

SWCTF{What_kinD_oF_d0g_is_This}

耗子尾汁 (逢甲-Misc, Score: 200, Unsolved)

Admin:我大意了啊,沒藏好 flag!
Released file (gif)

-

這題算是大意了QQ 拿去丟 binwalk 就有 Flag 了 =3=

$ binwalk -e mabaoguo.gif

SWCTF{BzIP_1n_7z_1n_GiF_bu_jiang_wu_de}

Real Google (逢甲-Misc, Score: 488, Unsolved)

這個網域應該是真的 Google,在上面輸入帳號密碼應該沒問題。可惜似乎連不上 …
thisisrealgoogle.tw

-

官方解 https://hackmd.io/@swctf/writeups/%2Fs%2FHJs9tbpRv#Real-Google

(居然是 DNS 的題目,最近才摸過 dig 沒想過是要這樣解QQ)

Base-XX (逢甲-Crypto, Score: 467, Unsolved)

這訊息看起來似曾相似,但好像又哪裡怪怪的 …

ZIpR1J2NvPqtgSJxbO4xnJ1JTGotDRpxoO4ZnLoJiMqxYAIt5TE++

-

我拿 CyberChef 戳半天還是沒想法 Zzzz

官方解 https://hackmd.io/@swctf/writeups/%2Fs%2FHJs9tbpRv#Base-XX

(雖然猜得到是用 base64 的規則改,不過居然有工具誰知道RRR)

babyCPP (逢甲-Reverse, Score: 392, Unsolved)

同學是個 FPS 職業選手,他做了一個訓練反應速度的小遊戲,只有職業選手的眼睛才跟得上!

Released file (exe)

-

我的 Windows 虛擬機把 libstdc++-6.dlllibwinpthread-1.dll 補上還是跑不起來 Orz

打開 IDA 摸一下就會發現疑似藏 Flag 的片段,重點在底下 while 如何產生 Flag。

仔細觀察可以發現從 v3, v4 對應的 v74, v13 位址,然後依次做 XOR,可以寫個簡單的 code 還原。

1
2
3
4
5
arr = [185, 229, 202, 12, 82, 20, 19, 218, 44, 51, 70, 155, 87, 145, 40, 142, 109, 28, 59, 200, 21, 226, 203, 16, 161, 3, 85, 46, 185, 215, 65, 18, 128, 250, 122, 19, 120, 197, 121, 184, 214, 101, 184, 126, 40, 63, 189, 76, 206, 58, 250, 1, 122, 111, 187, 127, 75, 20, 64, 171, 162, 196]
prefix = arr[:31][::-1]
postfix = arr[31:]
flag = "".join([ chr(i ^ j) for i, j in zip(prefix, postfix) ])
print(flag)

SWCTF{dis4ppE4R3d_maGICal_FLaG}

C Minor (逢甲-Reverse, Score: 435, Unsolved)

如果想拿到 flag,請先購買專業版授權碼!

Released file (exe)

-

起手式先 file 查看檔案類型,發現是用 .NET 寫的,用 Windows 執行起來會要求輸入字串進行驗證。

C_Minor.exe: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows

感謝 MuMu 介紹好用的 .NET 反編譯工具 dnSpy

簡單翻一翻會看到加密相關的函式,可以知道程式會將輸入字串進行加密後進行比對,所以我說那個要比對的對象勒?

翻了一陣子發現是被藏在一個類似資源庫(Resource)的地方。

沿路點進 address 就會看到一串 Hex 了,我們可以簡單寫個扣還原。

感謝展哥提醒可以直接右鍵以 C# array 格式複製,會比較好處理一點XD

new byte[] {
0x20, 0x17, 0x00, 0x00, 0x00, 0x32, 0x09, 0x05, 0x2E, 0x27, 0xF8, 0xE8, 0x19, 0x14,
0x0F, 0x1A, 0x14, 0x0E, 0x05, 0x08, 0x03, 0xF9, 0x30, 0xFB, 0x09, 0xF8, 0x0C, 0x08
};

個人是用 Python 直接偷懶一波,還原的部分看圖一應該不需要解釋吧 w

1
2
3
4
cipher = [0x20, 0x17, 0x00, 0x00, 0x00, 0x32, 0x09, 0x05, 0x2E, 0x27, 0xF8, 0xE8, 0x19, 0x14, 0x0F, 0x1A, 0x14, 0x0E, 0x05, 0x08, 0x03, 0xF9, 0x30, 0xFB, 0x09, 0xF8, 0x0C, 0x08]

ans = "".join([ chr((i+75) & 0xff) for i in cipher ])
print(ans[::-1])

SWCTF{DNSPY_eZ_d3CryPT}

disseminate (中科-Misc, Score: 367, Unsolved)

Can you find different flag in the article?

Released file (txt)

-

官方解 https://hackmd.io/@swctf/writeups/%2Fs%2FB1mfrsTAP#disseminate

(原來是和 picoCTF 一樣的套路,我整篇拿去 Google 難怪沒結果==)

My first SQL Injection (靜宜-Web, Score: 308, Unsolved)

小明想成為跟 TIM 哥一樣厲害的駭客,正在自學資訊安全,研究完 SQL Injection 後想要小試身手
http://swctf.hackersir.org:20002/

-

官方解 https://hackmd.io/@swctf/writeups/%2Fs%2FHkxeTpu6w#My-first-SQL-Injection

Google It Yourself (逢甲-Web, Score: 200, Unsolved)

如果有 Google 不到的問題,那就再多 Google 幾次
http://swctf.hackersir.org:20201/

-

雖然知道網址點下去會跳轉到 LMGTFY,但戳了一下 curl 和 wget 沒結果就放棄了,結果只是我不會用 curl 嗚嗚。

curl -i http://swctf.hackersir.org:20201/

Enter 敲下去直接就噴 Flag 了。

HTTP/1.1 302 Found
Date: Fri, 01 Jan 2021 12:01:11 GMT
Server: Apache/2.4.38 (Debian)
X-Powered-By: PHP/7.4.13
Flag: SWCTF{G0ogle_It_YoUr53Lf}
Location: https://lmgtfy.app/?q=pls+give+me+the+flag
Content-Length: 0
Content-Type: text/html; charset=UTF-8

SWCTF{G0ogle_It_YoUr53Lf}

Stupid Session Revenge (逢甲-Web, Score: 200, Unsolved)

管理員學聰明了,改用了先進的技術來保護他的網站
http://swctf.hackersir.org:20204/
測試帳密:test : test

-

官方解 https://hackmd.io/@swctf/writeups/%2Fs%2FHJs9tbpRv#Stupid-Session-Revenge

(知道是 JWT 的題目,但我好像都沒解出來過QQ)

admin (中科-Web, Score: 499, Unsolved)

Only admin can visit this page.
http://swctf.hackersir.org:20100/

-

官方解 https://hackmd.io/@swctf/writeups/%2Fs%2FB1mfrsTAP#admin

(還真沒想過在 X-Forwarded-For 動手腳 XD)