- Year
- 2024
- Role
- 課程設計/Lab/現場教學
- Team
- 個人授課
- Share
- 30%
專案總覽
這堂課為 NISRA Enlightened 的 Pwn 入門課程,從二進位漏洞利用的概念與應用開始,再透過 Pwn2Own 案例和 Flag Shop Lab 帶學員逐步實作。
課程設計重點是讓第一次接觸 Pwn 的學員能從程式行為走到可觀察、可操作的漏洞。
問題與動機
Pwn 同時涉及程式語言、記憶體、組合語言與除錯工具,初學者很容易在工具操作或名詞中失去主線。
概念跨度大
從整數、資料覆寫到控制流程,知識層次需要循序建立。
實作回饋重要
只看漏洞原理不容易建立直覺,必須透過可重現的 Lab 練習。
方法與核心內容
課程先以真實 Pwn2Own 案例建立動機,再使用同一組 Flag Shop 題目逐步加入 Integer Overflow、Overwrite Data 與 Buffer Overflow 等概念。
案例導入
以『Your printer is not your printer』說明漏洞利用的真實影響。
漸進式 Lab
讓學員在相同情境中觀察不同漏洞如何改變程式狀態。
技術脈絡
教學路線從程式輸入與整數開始,逐步走向記憶體資料、控制流程與漏洞利用。
INPUT程式與使用者輸入
STATE整數與資料狀態
MEMORY記憶體覆寫
EXPLOIT取得 Flag
執行流程
每個 Lab 先觀察正常行為,再透過輸入差異引導學員找到漏洞。
01 — 理解程式邏輯
閱讀題目流程與輸入限制,建立正常狀態的預期。
02 — 觸發異常狀態
利用整數與資料處理問題改變程式判斷。
03 — 連結到利用概念
從 Lab 結果回到 Buffer Overflow 與真實漏洞案例。
我的貢獻
貢獻比例 30%,負責課程結構、教材、實作 Lab 與現場講解。
- 01課程設計安排 Pwn 簡介、案例與實作的學習順序。
- 02Lab 準備設計 Flag Shop 練習與各階段提示。
- 03教材製作整理 100 頁簡報與示範內容。
- 04現場教學帶領學員操作、除錯並回答實作問題。
成果與反思
課程完成從 Pwn 概念到漏洞實作的完整教學,教材也保留為後續複習與讀書會使用。
教學讓我重新檢查自己對基礎概念的理解:能把複雜漏洞拆成學員可以驗證的小步驟,才算真正掌握。
08 / Presentation