ICOA Starter Guide 學習筆記(優化版)
ICOA Starter Guide 學習筆記(優化版)
來源:https://icoa2026.au/starter/
一句話先記: ICOA 是命令列比賽。重點不是背 48 個指令,而是知道「什麼題型 → 用什麼工具」。
0. 先看這一頁就夠的重點
ICOA 是什麼?
- 用 terminal / shell 解題
- 幾乎唔靠滑鼠
- 常見題型:
- 檔案分析
- 字串搜尋
- 編碼 / 解碼
- Python 小腳本
- 網路互動
- 基本 forensics / crypto / web
你最先要學會什麼?
先熟這 15 個:
pwdlscdcatlessheadfindgrepstringsfilebase64xxdcurlncpython3
最重要觀念
- 題目 → 判斷類型 → 揀工具 → 試 → 修正
- 指令通常要配合使用,不是單獨背誦
1. 這份 Starter Guide 是什麼?
ICOA Starter Guide 是 ICOA 2026 的入門指引。
你要知道的 4 點
- ICOA 是 CLI-native 比賽環境
- 官方環境大約有 110 個指令
- Starter Guide 先教其中約 48 個核心指令
- 這些指令幾乎都會在比賽環境出現
簡單理解
在 ICOA,比賽不是點按鈕,而是靠指令操作、觀察、分析、寫腳本。
2. 學這份指南的正確方法
2.1 不要死背
不要只背:
grep是什麼curl是什麼
要背的是:
- 看到很多檔案,要搜尋 →
find/grep - 看到可疑 binary →
file/strings/xxd - 看到 Base64 →
base64 -d - 看到遠端服務 →
nc/curl
2.2 一題通常會用多個工具
常見組合:
file→ 判斷檔案類型strings→ 抽可讀內容grep→ 找關鍵字python3→ 批量處理
2.3 先學「最常用」,再學「進階」
順序應該是:
- shell 基本操作
- 搜尋 / 解碼
- Python
- 網路
- forensics / crypto / web
3. 指令分類總覽
A. 基本 shell / 檔案操作
這類是最基本,一定要熟。
常見指令:
pwd:顯示目前所在資料夾ls:列出檔案cd:切換資料夾cat:查看檔案內容less/more:分頁查看內容head:看前幾行cp:複製檔案mv:移動 / 重新命名rm:刪除檔案mkdir:建立資料夾touch:建立空白檔clear:清除畫面
你要會:
- 找到題目檔案在哪裡
- 讀懂檔案內容
- 整理工作資料夾
B. 搜尋與文字處理
這類在 CTF / ICOA 非常常用。
常見指令:
grepegrepsortjoinpastefindstrings
用途:
- 搜 flag
- 搜 suspicious keyword
- 搜檔案名
- 從 binary 裡抽可讀文字
- 排序數據或比對結果
例子:
grep FLAG file.txt
find . -name '*.txt'
strings suspicious.bin | grep FLAG
C. 編碼 / 解碼 / 雜湊
這類是比賽常見基礎技能。
常見指令:
base64xxdsha256sumopenssl
用途:
- Base64 編碼 / 解碼
- Hex 檢視與還原
- 驗證檔案雜湊
- 加解密、憑證、摘要處理
例子:
echo 'SGVsbG8=' | base64 -d
xxd file.bin | head
sha256sum file.txt
D. 壓縮 / 檔案分析 / 取證
這類常用來處理附件、隱藏資訊與檔案分析。
常見指令:
filezipunzipgunzipbinwalkexiftool
用途:
- 判斷檔案真實格式
- 解壓縮
- 掃描檔案內嵌內容
- 看圖片 / 文件 metadata
例子:
file mystery
unzip secret.zip
exiftool image.jpg
binwalk firmware.bin
E. 網路與服務互動
ICOA 很多題目會牽涉遠端服務、網頁、domain 或 port。
常見指令:
curlwgetnc/netcatnmapdig
用途:
- 抓網頁內容
- 下載檔案
- 連到遠端服務
- 掃 port
- 查 DNS
例子:
curl http://example.com
nc example.com 1234
nmap 127.0.0.1
dig example.com
F. Python / 自動化
這類是最重要之一。
常見指令:
pythonpython3
Guide 也特別提到:
- list
- function
- input/output
- exception
- ASCII
- requests
- pwntools(進階)
你要會:
- 快速寫小腳本
- 批量解碼
- 處理字串
- 與遠端互動
- 自動化重複操作
例子:
import base64
print(base64.b64decode('SGVsbG8=').decode())
G. Git / 版本控制
雖然唔係每題都用,但學會會很有幫助。
常見指令:
git
用途:
- 管理版本
- 對照修改
- 儲存工作過程
H. 系統與環境觀察
常見指令:
bashwhichhistorytopdatefreemansource
用途:
- 知道目前 shell 是什麼
- 找指令在哪裡
- 查看歷史命令
- 看系統資源
- 查手冊
4. Starter Guide 的章節重點
根據頁面目錄,主要學習方向包括:
-
The Shell
- 了解 shell 是什麼
- 學會基本操作
-
Virtual Environment
- 知道 web / VM / VPN / IDE 等概念
-
Programming in Python
- 會寫簡單 Python 幫手解題
-
Regular Expressions (Regex)
- 用正規表示式快速找格式化字串
-
Git & Version Control
- 基本版本管理
-
The Network
- 網路基本概念與封包 / 連線思維
-
Web Exploits
- HTML / JavaScript / XSS 入門
-
Cryptography
- 密碼學基礎
-
Infiltrating in a database
- SQL / SQL Injection 入門
-
Forensics
- 檔案 / 磁碟 / 封包分析
- The ICOA CLI Environment
- 了解 ICOA 比賽環境與練習重點
5. 最好背的學習順序
如果你想讀得快、又容易記,建議分 4 層:
Level 1:一定要先會
pwdlscdcatlessheadfindgrepstringsfile
Level 2:最常見解碼 / 網路工具
base64xxdsha256sumcurlwgetncnmapunzip
Level 3:最實用自動化
python3- Python 字串處理
- list / loop
- regex
Level 4:進階觀念
- SQL injection
- XSS
- forensics
- crypto
- git
速讀建議
- 今日先學 10 個都得
- 每個指令至少打一次
- 比起背定義,更要記「什麼時候用」
6. 比賽中最常見的實際情境
情境 1:題目給你一個奇怪檔案
你可以先用:
file mystery
strings mystery | head
xxd mystery | head
情境 2:題目給你一段可疑字串
你可以試:
echo 'SGVsbG8=' | base64 -d
或用 Python 批次測試。
情境 3:題目要你連線到遠端
你可以試:
nc host port
curl http://host
情境 4:題目說 flag 在很多檔案之中
你可以試:
grep -R FLAG .
find . -type f
7. 考前速查表(最值得先記)
檔案在哪裡?
pwdlscdfind
檔案裡有什麼?
catlessheadfilestrings
想找關鍵字?
grepegrep
想解碼?
base64xxdopenssl
想連線 / 抓資料?
curlwgetncnmapdig
想自動化?
python3
8. 超短版本總結
看題目時,先問自己三件事:
- 這是檔案題、解碼題、網路題,還是程式題?
- 我要先看內容、找字串、還是解碼?
- 手動太慢的話,要不要直接用 Python?
9. 最適合你的下一步
如果你想更容易學,我建議照這個順序:
- 先看這份筆記
- 再做一份指令速查表
- 最後做幾題小 demo
如果你要,我下一步可以直接幫你整:
- ICOA 指令速查表(一頁版)
- 最常用 20 個指令示例
- 學生版練習題