步骤一,安装一下docker
由于我买的是腾讯云的Ubuntu20.04服务器,这里就以这个为例,其实大部分的linux版本也都可以这样
按步骤执行以下指令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #使用 apt-get 进行安装 # step 1: 安装必要的一些系统工具 sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common # step 2: 安装GPG证书 curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - # Step 3: 写入软件源信息 sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" # Step 4: 更新并安装Docker-CE sudo apt-get -y update sudo apt-get -y install docker-ce # 安装指定版本的Docker-CE: # Step 1: 查找Docker-CE的版本: # apt-cache madison docker-ce # docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages # docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages # Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial) # sudo apt-get -y install docker-ce=[VERSION]
|
输入以下命令验证是否安装成功:
1
| sudo docker run hello-world
|
出现下列提示说明成功
步骤二,初始化docker环境
首先在自己的root文件夹下写一个init.sh文件:
内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #!/bin/bash #更新系统 sudo apt-get update sudo apt-get upgrade
#安装 docker和docker-compose sudo apt install docker docker-compose zip
#设置镜像加速器 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://faalpdo3.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
|
然后执行:
1 2 3 4
| chmod +x init.sh
./init.sh
|
步骤三,搭建CTFd
1.拉取CTFd镜像
直接docker run -p 8000:8000 -d ctfd/ctfd
本来是要用pull的run也可以默认给你自动装
然后访问url+开放的端口号
有初始化的界面,设置一下管理员账号密码即可
2.汉化ctfd
首先利用docker ps去查看id,然后利用id进入docker容器里面
1
| docker exec -it de6fe1167985 /bin/bash
|
然后下载汉化包,用git下载:
1
| git clone https://github.com/Gu-f/CTFd_chinese_CN.git
|
1 2 3 4 5
| 切换到CTFd目录 删除主题 rm -rf themes
然后把下载好的主题以及对应的版本cp过来 cp /opt/CTFd/CTFd_chinese_CN/V3.1.1/CTFd-3.1.1/CTFd/themes .
|
刷新页面就好了
步骤四,出题
1.编写dockerfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| FROM odenktools/php7.2-apache2
LABEL Author="Boogipop"
COPY ./src/index.php /var/www/html/ COPY ./src/fllllaaaagggg /
RUN chmod -R 755 /var/www/html/ && \ chown -R root:root /var/www/html
EXPOSE 80
CMD sh -c "apache2-foreground"
|
2.在src目录准备题目源码和flag
这边就是在当前目录新建一个src目录,然后创建flag和index.php即可
3.直接运行docker
1
| docker build -t trick:v3 . // .的意思是把当前目录下的文件都给打包
|
1
| docker run -p 7000:80 -d trick:v3
|