iT邦幫忙

2025 iThome 鐵人賽

DAY 18
1
自我挑戰組

新手挑戰 picoCTF:資安入門紀錄系列 第 18

小結篇|資安解題學習整理

  • 分享至 

  • xImage
  •  

大概十天前,我曾經在這裡分享過一篇「小結篇」,整理了自己在資安解題過程中的一些初步體會。沒想到這段時間又累積了不少新經驗,趁現在來做個延伸整理,也順便和大家交流。


這段時間主要還是在做 CTF 題目,題目從一開始單純的基礎題,慢慢走到需要更多觀察與推理的挑戰,我覺得自己最大的收穫有幾個:
1. 學會更耐心地讀程式碼
一開始看到程式碼就有點急著動手,但後來發現很多時候題目已經把關鍵 hint 放在檔案裡了。像 level3.py 那題,表面上有個「干擾函式」,其實根本不是重點,反而是後面那幾組可能的密碼才是真正線索。這讓我更懂得先觀察、再行動。

2. 嘗試與錯誤的過程其實很有價值
很多時候我會先試錯,可能輸入錯的密碼,或者用錯誤的方法解碼,但過程中反而加深了對邏輯的理解。就像 hash 驗證那題,一開始還以為要爆破,後來才明白其實只要逐一比對候選值就能解出。

3. 工具與基礎知識要交替練習
我現在慢慢發現,不能單靠工具解題,也不能只看理論。例如 md5 hash、XOR、字串處理這些基礎,搭配 Python 程式碼去跑,才能真正「理解+應用」。這種結合比單純背知識更有效。

4. 學到整理的重要性
每解一題,我都會試著寫下心得,不只是為了記錄答案,而是把思路留存下來。這樣遇到類似題型時,我就能回想「上次我在哪裡卡住、怎麼突破」。這次寫文章的動機其實就是延續這個習慣。


我常用、也最想推薦的指令與用法
檔案與檢視:
ls -l:看有哪些檔案、檔案大小、權限。
file :判斷檔案類型(text / binary / zip / ELF…)。
head -n 20 / tail -n 20 :快速看前後幾行。
cat :列印整個檔案(小檔案用)。
strings | egrep -n 'picoCTF|flag':從二進位抓可讀字串(常找旗標)。

搜尋與正規表示式(flag 抽取的利器):
egrep -ao 'picoCTF{.?}' file
-a(把 binary 當 text),-o(只輸出匹配到的部分),.
? 為非貪婪匹配。

二進位 / Hex 檢視:
xxd -p level3.hash.bin:把 bin 轉 hex,方便比對雜湊。
hexdump -C file | sed -n '1,20p':漂亮 hex + ASCII 視圖。
bvi :在 webshell 若有 bvi,用它直接檢視/編輯 raw bytes(題目有時會提示要用它)。

下載 / 檔案操作:
wget :下載題目檔(右鍵複製連結貼上)。
unzip -l file.zip / unzip file.zip -d extracted:列出或解壓。
find . -type f -iname "flag*":找到所有可能的 flag 檔案。

解密(XOR 類 / str_xor):
str_xor 常見做法:把 key 重複到訊息長度,逐字 XOR。
用原程式或自己複製 str_xor 在 Python 裡跑即可(不必手動 reverse)。


整體來說,這十天雖然題目難度有增加,但我覺得心態比之前更穩定。以前會覺得卡關很挫折,現在反而會想:「這題卡住代表我有新的學習點」。接下來我想持續挑戰更多範疇的題目,同時把解題筆記慢慢系統化。希望未來回頭看這些文章,能感受到自己一點一滴的成長。

也歡迎大家分享你們的經驗,或給我一些建議,讓我在這條學習資安的路上走得更扎實!


上一篇
PW Crack 2 — XOR 解密 flag
下一篇
PW Crack 3 — 找候選密碼、比對 MD5
系列文
新手挑戰 picoCTF:資安入門紀錄21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言