March 2, 2023

搭建CTFd靶场

步骤一,安装一下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

出现下列提示说明成功

img

步骤二,初始化docker环境

首先在自己的root文件夹下写一个init.sh文件:

1
2
cd /root
vi 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

image-20211031203901602

首先利用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

About this Post

This post is written by Boogipop, licensed under CC BY-NC 4.0.

#CTF#靶场搭建