PGCTF,第一次做自己的CTF!

PGCTF,第一次做自己的CTF!
PGpenguin72起源:
為什麼想做一個自己到的CTF呢?簡單來說就是這次玩完THJCC的CTF後我有點想出個題目,讓別人來解,於是問過Frank後我就直接把我想了一天左右的CTF發到THJCC伺服器中了:
於是就有了這個:
反正接下來我會負責把wp寫好!
write-up
題目:
最近玩CTF玩到有點上頭了,於是我搞了一個「非常簡單」的小 CTF,主要用到這次 THJCC CTF 2026 的一些技巧(也有少數額外小延伸),有興趣可以來玩玩!
題目內容:
獎勵:
第一名 7-11 300 元商品卡乙張(記得截圖最後解出畫面 + DM 我)
(備註:非在台人士可兌換成"Discord Nitro 1 Month")
規則 / 說明:
- 題目都由「奇怪的音樂」這個檔案一路展開,請先下載再慢慢挖。
- 本次所有題目都不需要攻擊伺服器,禁止對 *.pg72.tw 進行掃描、爆破或任何惡意攻擊。
- 禁止暴力亂猜 Flag,如有異常大量提交或可疑行為,將直接取消資格。
- 第一名請提交簡單 Writeup(過程筆記即可),如果沒有提交將會取消領獎資格並順位。
- 第一名成功解題後將會公布官方WP,但還是可以繼續提交,就算排名而已。
IMPORTANT規則最終解釋權由 PGpenguin72 所有。
Hint:
First Hint, Release On Mar. 3rd:
- Part1 :
00:14 ~ 00:17 - Part2 :
Slow scan TV - Part3 :
.zip
Second Hint, Release On Mar. 4th:
- Part1 :
How to see the sound? - Part2 :
Just shifting. - Part3 :
Password is password
這次提示感覺給的不好 但我詞窮了:(
修補:
由於我第一次設計這種題目,然後我當時設定的時候不小心把密碼複製錯誤了,導致會沒辦法正確將 某個.xslx 解出來。
如果你已經遇到這個問題請使用這個xslx,並且我將移除裡面的加密鎖。
下載密碼為你解出的.xslx檔案名稱(不需要副檔名
https://file.pg72.tw/share/d6qSGFoW
首先我們先下載這個music.wav來聽聽,會發現耳機的左邊有很好聽的音樂,右邊中途才加入一堆噪音。
然後我為了方便起見,我決定將此write-up分為三個部分講解(分別對應到三個Flag碎片)。
Part 1
在聽左聲道的音樂時,可以發現音樂的0:14到0:17有響了10下奇怪的聲音,於是可以嘗試將整個音樂丟到Audacity去看看:
打開後會發現啥都木有,但這時聰明的你應該可以聯想到資訊可能會藏在頻譜圖中:
找到剛剛發出奇怪聲音的地方會看到有文字,上面寫著092598.xyz,這是一個網站,直接打開網頁會看到:
然後恭喜你你被瑞克搖了:D (欠扁
好既然直接連接沒有用,那就可以嘗試看看whois調查:
這裡可以看到有用的資訊都沒有了,都被調換成gandi這個網域註冊商的資訊了。
不過可以抱持著最後的僥倖去看看 whois.gandi.net(該域名註冊商的whois) 會不會有不同得資料:
喔豁,找到了電子郵件了,這時就可以OSINT一下看看有沒有其他線索,於是找了各種地方後你找到了Instagram上有著gugugaga980925名稱的使用者:
這顯然是一個被拆開來的QRcode,於是就可以嘗試將它組好恢復原樣:
掃描!進網頁: https://file.pg72.tw/share/xK0UUwmt
要密碼欸,這時還是聰明的你,可以想到好像剛剛漏了一個貼文沒看,於是又點回去了:Th3 p455w0rd 15 th3 4bbr3v14t10n 0f th15 5ch00l’5 n4m3.,翻譯過來就是密碼就是這所學校名稱的縮寫。,而且也可以看到作者大方的標明地區台灣 台北市,超佛心的吧,反正接下來直接Geolocation就好了…?
什麼你竟然不會Geolocation嗎?沒事就直接交給Gemini來解(為了公平我用臨時對話,也就是沒有紀錄的版本。):
然後他猜測這是政大附中,於是就可以嘗試看看AHSNCCU這個縮寫,就可以正確查看檔案了!
檔案本身是一個txt檔,內容如下:
1 | 0110/110/1010/1/0010/{/011/11111/011/_/001/_/000/11111/0100/0001/00011/100/_/011111/1/_ |
這是一個看起來很像二進位的代碼?而且長短不一,且有CTF常見的格式,於是可以想到他可能會是摩斯密碼,拿去解碼後就會得到:
1 | PGCTF{W0W_U_S0LV3D_1T_ |
就這樣,你得到了Part1 的Flag!
Flag(1/3):
PGCTF{W0W_U_S0LV3D_1T_
Part 2
接下來是右聲道,可以發現他是一個SSTV的聲音,於是可以直接將左聲道靜音(一樣用Audacity),然後直接播放就可以直接解碼(或是你可以把它拆分後丟工具解析也行):
掃描後可以得到:
1 | ++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>------------------..>-----------------.--.<..>----------.+++++++++++.<..>+.----------.<..>--.++.<..>++++++++++.--.<..>++..<..>--------.+++++++++++.<..>---------------.++.<..>++++++++++.------------.<..>++++.+++++++++++.<..>---.++++++++++++++++++++++.<..>----------------------.+++++++++++++++++++++.<..+++++++++++++++++++++++.+++++++++++.<++++++++++++++++++++++..>---.+++.<..>---------------.+++.<..>+++++++++..<..>.<+++++++++++++. |
這是大名鼎鼎的BrainFuck,那就直接丟線上工具吧:
1 | 44SQ44GR44SI44GI44SQ44SS44KV44GI44SG44KV44Si44Sh44KV44SV44GJ44SS44SA |
有沒有很熟悉?這幾乎是THJCC CTF 2026的題目 Shifting 了吧?那就來base64 decode一下:
1 | ㄐけㄈえㄐㄒゕえㄆゕㄢㄡゕㄕぉㄒ |
然後丟Unicode:
1 | \u3110\u3051\u3108\u3048\u3110\u3112\u3095\u3048\u3106\u3095\u3122\u3121\u3095\u3115\u3049\u3112\u3100 |
可以發現他主要是\u3開頭,然後可以嘗試把\u3全刪掉:
1 | 110 051 108 048 110 112 095 048 106 095 122 121 095 115 049 112 100 |
接下來直接把他從ASCII轉回英文:
1 | n3l0np_0j_zy_s1pd |
最後把它用凱薩運算一下:
1 | ROT0 n3l0np_0j_zy_s1pd |
至於為什麼是root4呢? 痾 我記得當時我是數到72,但後面寫WP後發現這樣會沒意義,難怪茶神說要通靈:( 下次改進改進:D
Flag(2/3):
r3p0rt_0n_dc_w1th
Part 3
最後一部分了,左右聲道都聽完了那接下來要怎麼辦呢?不難想到就是從整個檔案去下手,於是直接猜改成.zip就知道了:
裡面有一個password.zip,但由於我出錯題,導致這個密碼不可逆,於是我發了一個新的.xmlx包,密碼是原本壓縮包的名字:password
https://file.pg72.tw/share/d6qSGFoW
很好,得到了.zip的密碼,Th15_15_4_53ry_53ry_53ry_53ry_p0w3rfu1_p455w0rd_f0r_Z1P,於是解壓縮後得到這個txt檔案:
1 | https://gemini.google.com/gem/1mpG1EMZRX6dfyoUgumQZlcImO_mHZsWQ?usp=sharing |
點入網站後可以看到是一個個性化的Gemini,於是就開始跟他聊天:
Chat Record,這只是其中一種解法,但應該有很多可以Prompt injection的方式,都可以試試看。
NOTE有興趣的可以看一下下方的原始Prompt:
1 | Prompt: |
好了反正得到了一個Youtube Link就直接打開來看:
這些影片中穿插了很多文字,我把它變清楚一點你就知道了:
從這些文字中可以找到最後的Flag:Flag(3/3):
_scr33n_and_wp}
最終Flag:
Flag:
PGCTF{w0w_u_s0lv3d_1t_r3p0rt_0n_dc_w1th_scr33n_and_wp}
心得:
這次做這個大概花了我1天左右的時間…? 這中間我也學到了其實真正好玩的CTF不應該像我這樣把一個Flag拆開藏在三種很雜亂的地方,明明有能力把他拆開後變的更好玩ㄉ。反正這也是一次學習經驗啦,給你們分享一下我當時寫的草稿筆記:
頒獎台:
解題排行榜
1st. :
2026/3/8 晚上20:30Zackzheng可樂
2nd. :
3rd. :
First Blood(part):
Part 1 :
2026/3/8 晚上20:25Zackzheng可樂
Part 2 :
2026/3/2 晚上10:16レモンティー【檸檬茶】
Part 3 :
2026/3/3 晚上10:27Zackzheng可樂



























