0%

CTFd 介紹

CTFd 介紹

CTFd image
圖片來源:CTFd 官網(ctfd.io)

CTFd 是一個適合給學生練習 CTF 的平台,能夠透過該平台進行測驗並查看排名等。

安裝 CTFd

我們可以經由 CTFd 的 GitHub 取得
在安裝前,請先確定電腦中已經安裝好 docker

透過 git clone https://github.com/CTFd/CTFd.git 來取得 CTFd

安裝方法有兩個

1. 使用 Docker

可以使用
docker run -p 8000:8000 -it ctfd/ctfd
或是 docker compose
docker compose up

2. 使用 python

進入 /CTFd 資料夾輸入
pip install -r requirements.txt

資料夾結構

最主要的內容都在 CTFd/CTFd

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/CTFd/CTFd
├── __init__.py
├── admin
├── api
├── auth.py
├── cache
├── challenges.py
├── cli
├── config.ini
├── config.py
├── constants
├── errors.py
├── events
├── exceptions
├── fonts
├── forms
├── logs
├── models
├── plugins
├── schemas
├── scoreboard.py
├── share.py
├── teams.py
├── themes
├── translations
├── uploads
├── users.py
├── utils
└── views.py
  1. admin 存放管理介面相關的資料
  2. plugins 是我們需要安裝外掛,如動態 docker 題目之類的所存放的位置
  3. themes 存放了 CTFd 的主題,可以自行到網路上尋找好看主題再到裡面做更換
    以我自己來說,比較會碰到的就是以上這幾個

挑戰介面

在這頁會有自行設定的題目供參賽者作答,可以依照題目給予不同的名稱、類別、標籤等

CTFd 介面