-

腾讯云 Ubuntu 22.04

环境配置

换源

  1. 备份镜像源设置文件

    1
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  2. 编辑镜像源设置文件

    1
    vim /etc/apt/sources.list
  3. 替换掉原文件中的所有内容并替换

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

    # 预发布软件源,不建议启用
    # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

    然后

    1
    2
    sudo apt update
    sudo apt upgrade

    更换 pip 源

1
2
3
cd ~                   # 进入家目录     
cd .pip        # 进入.pip文件夹
vim pip.conf      # 用vim编辑pip.conf文件

编辑内容为

1
2
3
4
5
6
7
8
9
10
11
[global]

index-url=https://pypi.tuna.tsinghua.edu.cn/simple

timeout = 6000

[install]

trusted-host=pypi.tuna.tsinghua.edu.cn

disable-pip-version-check = true

docker , Docker Compose安装

1
2
3
4
5
6
7
apt-get install git docker docker-compose -y
或者
#apt-get install git docker.io docker-compose -y

#启动 docker,并设置为开机自启
sudo systemctl start docker
sudo systemctl enable docker
1
2
3
验证安装是否成功
docker --version
docker-compose --version

启用Docker Swarm,并为生成的Manager节点取一个别名

1
2
docker swarm init --advertise-addr 127.0.0.1
docker node update --label-add='name=linux-1' $(docker node ls -q)

ctfd 安装

1
2
3
4
5
6
7
8
9
git clone https://github.com/huangzheng2016/CTFd-docker CTFd
这一步跳过
修改
vi CTFd/docker-compose.yml
改这三行
- CTFD_URL=你的ip/domain
- DIRECT_URL=你的ip/domain
- DYNAMIC_URL=你的ip/domain
不改回默认跳转到test.com,如果是这样只能重新搭建了

#docker 换源

1
sudo vim /etc/docker/daemon.json

替换为

1
2
3
{
"registry-mirrors":["https://docker.1panel.live"]
}

或者去阿里加速https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

1
2
3
#重启
systemctl daemon-reload
systemctl restart docker

启动容器

1
2
3
docker-compose build
docker-compose up -d
docker-compose -f docker-compose.yml exec ctfd python manage.py set_config whale auto_connect_network

部署赛题

现成的题库

1
2
3
4
5
sudo mkdir -p /opt/CTF #创建CTF目录
cd /opt/CTF
git clone https://githubfast.com/CTFTraining/suctf_2019_easysql #在 CTFTraining 拉取一道真题
cd suctf_2019_easysql
ls

然后我们直接在这个目录下:

1
sudo docker-compose up -d #使用docker-compose下载镜像生成容器并启动容器

构建后你可以看一下是否构建完成:

1
docker ps -a #查看容器状态

image-20240622132027899

存在一个docker镜像了

管理员点击进入Admin Panel 管理界面:点击whale:点击 Frp

image-20240622132156755

填入服务器 ip

image-20240622132301540

submit 保存一手,进入challenges界面:点击上面的加号:,这里部署 web 所以选择动态 flag,选择dynamic(如果你要是只要静态的flag,那你就用standard标准就行了)

image-20240622205952989

这边docker image 就是你本地构建镜像的名字,如果不存在本地镜像会自动调用dockerhub上面的在线镜像内容

image-20240622133107132

image-20240622133053222

然后FRP port 的内容你就填80 这个是配置的默认转发接口,没绑域名的话 Type 选择 direct。

然后就是分数衰减最大分最小分

image-20240622133231555

ctfd 美化

在 CTFd/CTFd/themes 下拉取主题即可

1
git clone https://githubfast.com/chainflag/ctfd-neon-theme.git

然后在 theme 页面设置。