CTF Intro
簡介和一些酷東東.
Claire
- 北資一六社長 x 網管
- 競程是舊愛 而且我很爛
- 新歡大概是資安
- 但我都只打水題
樹枝爆肝仔
Who am I

- slides.com中文字體很怪所以可能隨機掉落英文
-
講義
- 希望HackMD修好了,他凌晨炸了
- 等等教的東西請不要用在 CTF 以外的地方
Warning
1
CTF Intro
3
Before We Start...
5
Web - Practice
2
Resources
4
Web - Basic Concepts
Index
6
References
What is CTF?
What is CTF?
- Capture The Flag, CTF
-
前身:傳統黑客間的比拼遊戲
-
起源於 1996 年 DEFCON 全球黑客大會
What is CTF?
- 考驗資安的比賽
- 目標:獲得flag
- 一段字串
- 固定的格式
- ex. picoCTF{...}
- 假flag
- L337
Categories
- Web 網頁
- Reverse 逆向工程
- Pwn(Binary Exploitaion) 二進制漏洞利用
- Crypto 密碼學(簡稱數學)
- Forensics 分析各種資訊(通靈之一)
- Misc 不知道要分哪的(通靈之二)
Competition Types
-
Jeopardy
- 簡稱:通靈遊戲
-
根據題目指示
或你的第六感找到flag -
每題有不同分值
- 動態分數
- 我只打過這個
Competition Types
-
Attack and Defense
- 每一個隊伍有主機,提供有一堆洞的服務
- 修好自己的
- 攻擊別人的
-
King of the Hill
- 主辦方提供一個服務
- 佔領並維護他
- 佔領時長越久越多分
Resources
Resources
- 先去註冊picoCTF
Before We Begin...
Before We Begin...
- kali linux
-
除了必要的理由以外:
- 東西比較好整理
- 玩壞不會心疼
- mac其實蠻好用的了
Web - Basic Concepts
Front-end & Back-end
Front-end & Back-end
Front-end & Back-end
- 點餐出餐
- 使用者理所當然只能接觸到點餐的部分
- 後端負責處理各種要求
Front-end & Back-end
Front-end
- 所有東⻄都會直接顯⽰給使⽤者
- HTML、CSS、JS
-
ctf很常可以從js裡面看
或通靈出你需要找的東西
Front-end & Back-end
Back-end
- 背後運作的伺服器與程式
- 處理資料與邏輯
- 處理使用者的請求
- 連接資料庫存取資料
- 動態顯示網頁資料
Front-end & Back-end

HTTP/HTTPS
HTTP/HTTPS
- Hypertext Transfer Protocal
- 向伺服器請求資料
- 用戶端-伺服器通訊的協定
HTTP/HTTPS
HTTP
- OSI 網路通訊模型中的應用層通訊協定
-
HTTP request:
- GET:取得資料,例如打開網頁、查資料
- POST:送出資料,例如表單提交、登入操作
- HEAD、PUT、DELETE...
GET / HTTP/1.1
Host: www.google.comHTTP/HTTPS
HTTP/HTTPS
HTTPS
-
從獨立的憑證認證機構取得 SSL/TLS 憑證
- 數位物件
-
驗證身分後使用 SSL/TLS 協定
- 加密連線後 只有用戶端和 Web 伺服器才能看到
中華電信 酷
- 交換加密或混亂的資料
HTTP/HTTPS
HTTP vs. HTTPS
-
HTTP
- 沒有對傳輸資料做加密
-
HTTPS(HTTP secure)
- 允許對傳輸資料進⾏加密
- 需要向CA申請憑證
Web - Basic Concepts

Server Configuration Settings
Server Configuration Settings
robots.txt
- 指示搜尋引擎爬蟲
- 網站根目錄/robots.txt
- 不想被外界看到的隱藏路徑或檔案
- 來看看IKEA
Server Configuration Settings
.htaccess
- Apache目錄級設定檔
- 控制權限 重寫網址 密碼保護
- 設定規則若被公開 可能洩露進攻方向或特殊目錄資訊
Server Configuration Settings
.htpasswd
- 與.htaccess配合的密碼檔
- 存放帳號與加密密碼
- 嘗試破解?
Server Configuration Settings
.git
- Git版本控制目錄
- 版本紀錄、原始碼
- 下載完整程式碼
Server Configuration Settings
.DS_Store
- MacOS資料夾設定檔
- 目錄結構、隱藏資訊
F12
F12
- F12
- 右鍵 Inspect

F12
Elements
- 查看、編輯HTML
- 隱藏文字、註解、元素屬性
- 修改對當前的頁面渲染生效
- ctrl(cmd)+f找flag

F12
Console
- js錯誤、輸出
- js指令試驗
- 控制台日誌:console.log()

F12
Sources
- 當前網頁的所有源文件
- ctrl(cmd)+f

F12
Network
- 監控網頁載入請求、回放
- 查看各個資源內容、回應數據,另存為文件進行分析
- preserve log:重整不會清除

F12
Application
- 管理網站資料
-
Cookie:
- 儲存網站資料的小型文字檔
- 記錄狀態、設定
- 造訪網站 伺服器HTTP回應Set-Cookie
- 同一網站請求自動附帶Cookie
-
修改Cookie內容嘗試權限提升
- 修改後刷新頁面
F12

Others
base64
-
ctf愛用編碼
-
二進制數據表示為ASCII字符
-
二進制數據轉為文本數據在文本協議中傳輸
-
後面很多時候會有=或==
-
看久了會有一種感覺他是base64 -
ex. fgisc -> Zmdpc2M=
Web - Practice
Practice
F12
-
https://play.picoctf.org/practice/challenge/275?category=1&page=1
-
https://play.picoctf.org/practice/challenge/274?category=1&page=1
-
https://play.picoctf.org/practice/challenge/426?category=1&page=1
-
https://play.picoctf.org/practice/challenge/278?category=1&page=1
-
https://play.picoctf.org/practice/challenge/4?category=1&page=2
-
https://play.picoctf.org/practice/challenge/18?category=1&page=2
-
https://play.picoctf.org/practice/challenge/161?category=1&page=2
-
https://play.picoctf.org/practice/challenge/427?category=1&page=1
-
https://play.picoctf.org/practice/challenge/349?category=1&page=3
Practice
Thank You!
ctf intro
By Claire Pan
ctf intro
- 59