一、虛擬機環境搭建
1、安裝docker、git、docker-compose
ubuntu:
sudo apt-get update #更新系統
sudo apt-get -y install docker.io #安裝docker
sudo apt-get -y install git #安裝git
sudo apt-get -y install python3-pip #安裝pip3
sudo pip install docker-compose #pip安裝docker-compose,如安裝失敗sudo pip install --upgrade pip更新pip版本后再安裝
2、docker配置&python配置
docker配置:
#如果想自定義docker鏡像下載目錄進行執行如下命令
sudo rm -rf /var/lib/docker
sudo mkdir -p /appdata/docker #/appdata/docker為你自定義的目錄
sudo ln -s /appdata/docker /var/lib/docker #創建軟鏈接使/var/lib/docker指向/appdata/docker
#設置國內docker鏡像源
sudo mkdir -p /etc/docker #創建目錄
sudo vim /etc/docker/daemon.json #編輯配置文件
#將如下內容寫入:
{
"registry-mirrors": ["https://******.mirror.aliyuncs.com"]
}
#******為你注冊阿里docker鏡像倉庫的代碼,獲取方式見如下文章:
#https://blog.csdn.net/wohaqiyi/article/details/89335932
sudo service docker restart #重啟docker
python配置:
#不安裝python2,直接python3
sudo ln -s /usr/bin/pip3 /usr/bin/pip #創建python3軟鏈接
sudo ln -s /usr/bin/python3 /usr/bin/python #創建python3軟鏈接
?
3、部署CTFd平臺
cd /opt
sudo git clone https://github.com/CTFd/CTFd.git #下載CTFd
cd CTFd
sudo docker-compose up -d #docker方式后臺下載鏡像源并啟動
?
[root@localhost CTFd]# docker-compose up -d
WARNING: The Docker Engine you're using is running in swarm mode.
Compose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node.
Creating ctfd_db_1 ? ?... done
Creating ctfd_ctfd_1 ?... done
Creating ctfd_cache_1 ... done
Creating ctfd_ctfd_1 ?...?
Recreating ctfd_nginx_1 ... done?
安裝完成,訪問IP:8000,進入CTFd初始化界面,按需注冊賬號密碼后,點finish可進入CTFd平臺
pip3 install gunicorn
https://github.com/CTFd/CTFd
部署一個ctf題目
sudo mkdir -p /home/cys/CTF #創建CTF目錄
sudo cd /home/cys/CTF
sudo git clone https://github.com/CTFTraining/CTFTraining.git #安裝CTFTraining,注意這里只能git下來目錄,目錄中是空的,需要一個一個CTF題目去git
cd CTFTraining
ls
里面只有目錄,沒有內容
sudo git clone https://github.com/CTFTraining/0ctf_2016_unserialize.git #下載CTF題目,只要替換0ctf_2016_unserialize為其他目錄名稱即可下載所有題目
cd 0ctf_2016_unserialize/ #進入題目目錄中
ls
發現目錄中已經有內容了
修改docker-compose.yml文件,設置端口及flag
使用docker-compose啟動:
sudo docker-compose up -d #使用docker-compose下載鏡像生成容器并啟動容器
?要16步,第一啟動費時間。
已經啟動,在本地訪問IP:8302發現可以訪問,但在其他電腦無法訪問
停止并刪除容器,并修改配置文件docker-compose.yml
sudo docker stop 2c6df451d955 #停止容器,2c6df451d955為CTF題目CONTAINER ID
sudo docker rm 2c6df451d955 #刪除容器,2c6df451d955為CTF題目CONTAINER ID
sudo vim docker-compose.yml #vim將127.0.0.1修改為0.0.0.0
?
# 0ctf 2016 piapiapia
version: "2"
?
services:
?
? web:
? ? build: .
? ? image: ctftraining/0ctf_2016_unserialize
? ? environment:
? ? ? - FLAG=flag{nizhenshigedacongming}
? ? restart: always
? ? ports:
? ? ? - "0.0.0.0:8302:80"
?本機在瀏覽器上訪問正常,但是同一局域網的其他電腦卻無法連接
解決:
打開VM點擊虛擬機–>設置–>硬件–>網絡適配器–>選擇橋接:直接連接到物理網絡
?
?
?
?