ICOA Starter Guide 學習筆記(優化版)

來源:https://icoa2026.au/starter/

一句話先記: ICOA 是命令列比賽。重點不是背 48 個指令,而是知道「什麼題型 → 用什麼工具」。


0. 先看這一頁就夠的重點

ICOA 是什麼?

  • terminal / shell 解題
  • 幾乎唔靠滑鼠
  • 常見題型:
    • 檔案分析
    • 字串搜尋
    • 編碼 / 解碼
    • Python 小腳本
    • 網路互動
    • 基本 forensics / crypto / web

你最先要學會什麼?

先熟這 15 個:

  • pwd
  • ls
  • cd
  • cat
  • less
  • head
  • find
  • grep
  • strings
  • file
  • base64
  • xxd
  • curl
  • nc
  • python3

最重要觀念

  • 題目 → 判斷類型 → 揀工具 → 試 → 修正
  • 指令通常要配合使用,不是單獨背誦

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 先學「最常用」,再學「進階」

順序應該是:

  1. shell 基本操作
  2. 搜尋 / 解碼
  3. Python
  4. 網路
  5. forensics / crypto / web

3. 指令分類總覽


A. 基本 shell / 檔案操作

這類是最基本,一定要熟。

常見指令:

  • pwd:顯示目前所在資料夾
  • ls:列出檔案
  • cd:切換資料夾
  • cat:查看檔案內容
  • less / more:分頁查看內容
  • head:看前幾行
  • cp:複製檔案
  • mv:移動 / 重新命名
  • rm:刪除檔案
  • mkdir:建立資料夾
  • touch:建立空白檔
  • clear:清除畫面

你要會:

  • 找到題目檔案在哪裡
  • 讀懂檔案內容
  • 整理工作資料夾

B. 搜尋與文字處理

這類在 CTF / ICOA 非常常用。

常見指令:

  • grep
  • egrep
  • sort
  • join
  • paste
  • find
  • strings

用途:

  • 搜 flag
  • 搜 suspicious keyword
  • 搜檔案名
  • 從 binary 裡抽可讀文字
  • 排序數據或比對結果

例子:

grep FLAG file.txt
find . -name '*.txt'
strings suspicious.bin | grep FLAG

C. 編碼 / 解碼 / 雜湊

這類是比賽常見基礎技能。

常見指令:

  • base64
  • xxd
  • sha256sum
  • openssl

用途:

  • Base64 編碼 / 解碼
  • Hex 檢視與還原
  • 驗證檔案雜湊
  • 加解密、憑證、摘要處理

例子:

echo 'SGVsbG8=' | base64 -d
xxd file.bin | head
sha256sum file.txt

D. 壓縮 / 檔案分析 / 取證

這類常用來處理附件、隱藏資訊與檔案分析。

常見指令:

  • file
  • zip
  • unzip
  • gunzip
  • binwalk
  • exiftool

用途:

  • 判斷檔案真實格式
  • 解壓縮
  • 掃描檔案內嵌內容
  • 看圖片 / 文件 metadata

例子:

file mystery
unzip secret.zip
exiftool image.jpg
binwalk firmware.bin

E. 網路與服務互動

ICOA 很多題目會牽涉遠端服務、網頁、domain 或 port。

常見指令:

  • curl
  • wget
  • nc / netcat
  • nmap
  • dig

用途:

  • 抓網頁內容
  • 下載檔案
  • 連到遠端服務
  • 掃 port
  • 查 DNS

例子:

curl http://example.com
nc example.com 1234
nmap 127.0.0.1
dig example.com

F. Python / 自動化

這類是最重要之一。

常見指令:

  • python
  • python3

Guide 也特別提到:

  • list
  • function
  • input/output
  • exception
  • ASCII
  • requests
  • pwntools(進階)

你要會:

  • 快速寫小腳本
  • 批量解碼
  • 處理字串
  • 與遠端互動
  • 自動化重複操作

例子:

import base64
print(base64.b64decode('SGVsbG8=').decode())

G. Git / 版本控制

雖然唔係每題都用,但學會會很有幫助。

常見指令:

  • git

用途:

  • 管理版本
  • 對照修改
  • 儲存工作過程

H. 系統與環境觀察

常見指令:

  • bash
  • which
  • history
  • top
  • date
  • free
  • man
  • source

用途:

  • 知道目前 shell 是什麼
  • 找指令在哪裡
  • 查看歷史命令
  • 看系統資源
  • 查手冊

4. Starter Guide 的章節重點

根據頁面目錄,主要學習方向包括:

  1. The Shell

    • 了解 shell 是什麼
    • 學會基本操作
  2. Virtual Environment

    • 知道 web / VM / VPN / IDE 等概念
  3. Programming in Python

    • 會寫簡單 Python 幫手解題
  4. Regular Expressions (Regex)

    • 用正規表示式快速找格式化字串
  5. Git & Version Control

    • 基本版本管理
  6. The Network

    • 網路基本概念與封包 / 連線思維
  7. Web Exploits

    • HTML / JavaScript / XSS 入門
  8. Cryptography

    • 密碼學基礎
  9. Infiltrating in a database

    • SQL / SQL Injection 入門
  10. Forensics

  • 檔案 / 磁碟 / 封包分析
  1. The ICOA CLI Environment
  • 了解 ICOA 比賽環境與練習重點

5. 最好背的學習順序

如果你想讀得快、又容易記,建議分 4 層:

Level 1:一定要先會

  • pwd
  • ls
  • cd
  • cat
  • less
  • head
  • find
  • grep
  • strings
  • file

Level 2:最常見解碼 / 網路工具

  • base64
  • xxd
  • sha256sum
  • curl
  • wget
  • nc
  • nmap
  • unzip

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. 考前速查表(最值得先記)

檔案在哪裡?

  • pwd
  • ls
  • cd
  • find

檔案裡有什麼?

  • cat
  • less
  • head
  • file
  • strings

想找關鍵字?

  • grep
  • egrep

想解碼?

  • base64
  • xxd
  • openssl

想連線 / 抓資料?

  • curl
  • wget
  • nc
  • nmap
  • dig

想自動化?

  • python3

8. 超短版本總結

看題目時,先問自己三件事:

  1. 這是檔案題、解碼題、網路題,還是程式題?
  2. 我要先看內容、找字串、還是解碼?
  3. 手動太慢的話,要不要直接用 Python?

9. 最適合你的下一步

如果你想更容易學,我建議照這個順序:

  1. 先看這份筆記
  2. 再做一份指令速查表
  3. 最後做幾題小 demo

如果你要,我下一步可以直接幫你整:

  • ICOA 指令速查表(一頁版)
  • 最常用 20 個指令示例
  • 學生版練習題
Built with LogoFlowershow