从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

这篇具有很好参考价值的文章主要介绍了从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.前言

二.服务器

三.搭建

1.安装Docker和Docker-compose并配置

(1)修改国内源

(2)更新yum包

(3)卸载旧版本

(4)安装必要工具

(5)添加docker的存储库

(6)安装docker-ce

(7)设置开机启动并启动docker

(8)安装docker-compose,不行就去GitHub上手动下载并改名放在/usr/local/bin/

(9)设置权限

(10)检查

(11)修改docker镜像源

(12)docker集群设置

2.安装CTFd

(1)获取CTFd

(2)修改frp配置

(3)修改Dockerfile

(4)修改requirements.txt

(5)修改fonts.dev.css和fonts.min.css

(6)构建并启动镜像

3.配置CTFd-whale

4.发布题目

四.创建自己的web题并实现动态flag

五.去广告,修改页脚


从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

一.前言

 搭建完静态CTFd发现不能开启动态靶机,于是花了3天时间,翻遍了能找到的所有博客,踩了无数坑,终于成功....😭😭😭

刚开始尝试用Ubuntu22和最新的CTFd进行搭建,尝试了数次,ctfd_ctfd_1总是无限重启,docker logs报的错网上也找不到解决方案,改用Ubuntu20,18也都失败了,最后放弃了,使用网上教程所使用的的CentOS7和旧版CTFd终于成功了....(如果你使用最新版本搭建成功了,请务必告诉我)

已成功使用CTFd3.5搭建支持动态靶机的平台,有时间再写...(下面是CTFd2.3)

如果你想10分钟内搭建一个静态CTFd靶场,请看我的这篇博客:

从零用Docker搭建CTFd静态靶场,汉化,去广告(2023/04/01)_J14N的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-499048.html

 更换操作系统:

从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01


二.服务器

云服务器:阿里云ECS 2核2G

操作系统:CentOS 7.5


三.搭建

1.安装Docker和Docker-compose并配置

(1)修改国内源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum -y update

(2)更新yum包

sudo yum update

(3)卸载旧版本

sudo yum remove docker  docker-common docker-selinux docker-engine

(4)安装必要工具

yum install -y yum-utils device-mapper-persistent-data lvm2

(5)添加docker的存储库

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

(6)安装docker-ce

yum install -y docker-ce

(7)设置开机启动并启动docker

systemctl enable docker

systemctl start docker

(8)安装docker-compose,不行就去GitHub上手动下载并改名放在/usr/local/bin/

pip install --upgrade pip
pip install docker-compose

(9)设置权限

chmod +x /usr/local/bin/docker-compose

(10)检查

docker-compose --version

(11)修改docker镜像源

不改的话后面会慢的一*

Docker镜像加速

阿里云镜像加速获取

把这段话复制运行就行

从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

(12)docker集群设置

docker swarm init

docker node ls

docker node update --label-add name=linux-1 <节点 ID>

docker swarm init的结果必须这样才算成功,不行就重启试试sudo systemctl restart docker

从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

2.安装CTFd

(1)获取CTFd

git clone -b single https://github.com/glzjin/CTFd.git

 大概率会卡,耐心等等或者多Ctrl+C几次

(2)修改frp配置

但是貌似已经随机了,所以没修改

cd CTFd
vi frp/frps.ini # token 一定要随机
vi frp/frpc.ini # token 一定要随机
git submodule update --init

(3)修改Dockerfile

直接将下面的粘贴进去

FROM python:3.7-alpine

WORKDIR /opt/CTFd
RUN mkdir -p /opt/CTFd /var/log/CTFd /var/uploads

RUN sed -i 's/dl-cdn.alpinelinux.org/mirror.tuna.tsinghua.edu.cn/g' /etc/apk/repositories && \
    apk update && \
    apk add \
        linux-headers \
        libffi-dev \
        gcc \
        make \
        musl-dev \
        py-pip \
        mysql-client \
        git \
        openssl-dev

COPY . /opt/CTFd

RUN pip install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
RUN for d in CTFd/plugins/*; do \
      if [ -f "$d/requirements.txt" ]; then \
        pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r $d/requirements.txt; \
      fi; \
    done;

RUN chmod +x /opt/CTFd/docker-entrypoint.sh
RUN adduser -D -u 1001 -s /bin/sh ctfd
RUN chown -R 1001:1001 /opt/CTFd /var/log/CTFd /var/uploads

USER 1001
EXPOSE 8000
ENTRYPOINT ["/opt/CTFd/docker-entrypoint.sh"]

(4)修改requirements.txt

直接复制下面这个

Flask==1.1.2
Werkzeug==0.16.0
Flask-SQLAlchemy==2.4.1
Flask-Caching==1.4.0
Flask-Migrate==2.5.2
Flask-Script==2.0.6
SQLAlchemy==1.3.11
SQLAlchemy-Utils==0.36.0
passlib==1.7.2
bcrypt==3.1.7
six==1.13.0
itsdangerous==1.1.0
jinja2==2.11.3
requests>=2.20.0
PyMySQL==0.9.3
gunicorn==19.9.0
normality==2.0.0
dataset==1.1.2
mistune==0.8.4
netaddr==0.7.19
redis==3.3.11
datafreeze==0.1.0
gevent==21.12.0
python-dotenv==0.10.3
flask-restplus==0.13.0
pathlib2==2.3.5
flask-marshmallow==0.10.1
marshmallow-sqlalchemy==0.17.0
boto3==1.10.39
markupsafe==1.1.1
marshmallow==2.20.2

(5)修改fonts.dev.cssfonts.min.css

修改/root/CTFd/CTFd/themes/core/static/css下fonts.dev.css和fonts.min.css
将找到文件中的

https://use.fontawesome.com/releases/v5.9.0/css/all.css

替换为

https://cdn.bootcss.com/font-awesome/5.13.0/css/all.css

(6)构建并启动镜像

cd ~/CTFd
docker-compose build
docker-compose up -d

ip:8000直接进入(记得去安全组放行端口8000  创建动态靶机的话还要放行28000/29000)

3.配置CTFd-whale

照着大佬的配置就行

从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

 从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

 从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

填上图这个就行

 从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

 从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

 Frp Config Template

[common]
token = randomme
server_addr = 172.1.0.1
server_port = 6490
pool_count = 200
tls_enable = true

admin_addr = 172.1.0.3
admin_port = 7400

4.发布题目

还是照着操作就行

从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

 从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

 从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

 从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01

 从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01


四.创建自己的web题并实现动态flag

上面的web题很显然都是docker pull过来的,如果你想自己出动态flag的web题并部署在CTFd上,请看我的这篇博客

(正在写)

从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01


五.去广告,修改页脚

看我的这篇博客

从零用Docker搭建CTFd静态靶场,汉化,去广告(2023/04/01)_J14N的博客-CSDN博客


到了这里,关于从零用Docker搭建CTFd动态靶场(CTFd+CTFd-whale)2023/04/01的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker搭建漏洞靶场(Vulhub、Vulnapp、Vulfocus)

    – Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行一条命令即可编译、运行一个完整的漏洞靶场镜像。 通过浏览器访问 https://github.com/vulhub/vulhub 下载到本地。 下载完成后上转到你需要搭建得服务器上,我这里我使用kali Linux作为服务器 通过unzip解压压缩包 进

    2024年02月02日
    浏览(42)
  • centos7上docker搭建vulhub靶场

    VulHub是一个在线靶场平台,提供了丰富的漏洞环境供安全爱好者学习和实践。 该平台主要面向网络安全初学者和进阶者,通过模拟真实的漏洞环境,帮助用户深入了解漏洞的成因、利用方式以及防范措施。 此外,VulHub还提供了丰富的教程和文档,方便用户快速上手并深入学

    2024年04月13日
    浏览(38)
  • CTFd平台使用docker配置pwn题目

    目录 1.安装docker和ctf_xinetd         1.docker:         2.ctf_xinetd的下载与使用         3.Docker Hub 镜像加速器         检查加速器是否生效         Docker Hub 镜像测速 2.制作镜像并上传 1.先配置好flag文件不要忘了,保证和CTFd平台的一样。 本人的目的: 2.Dockerfile:

    2023年04月09日
    浏览(54)
  • Kali安装Docker并简单搭建漏洞靶场vulhub

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。还可以帮助安全人员进行靶场的搭建。 在kali上,先确定

    2024年02月15日
    浏览(45)
  • 【P2】VMware 下 docker 快速搭建漏洞靶场 DVWA

    包括什么是 docker、docker 和虚拟机的的区别、docker 搭建 DVWA 及执行步骤、为 kali 配置 docker 加速器、访问 dockerhub 的 dvwa 镜像、vulhub 搭建漏洞复现。 1、什么是 docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到

    2024年02月09日
    浏览(47)
  • Kali+docker搭建Vulfocus靶场并配置vulfocus漏洞环境

    好吧,上次更新博客也不记得是几年前的事情了,来说说消失的这段时间我在干嘛。最近超级无敌忙,每天送餐从早送到晚,同时兼职某团和饿了某,现在正在给一个靓女送杯奶茶,做安服税后5千块钱的工资能干嘛?赶紧和我一起做某团骑手,少走30年弯路。 难得有空,最近

    2024年02月05日
    浏览(50)
  • CTF靶场搭建及Web赛题制作与终端docker环境部署

    ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥   写在前面 ╔═══════════════════════════════════════════════════

    2024年02月04日
    浏览(91)
  • 云服务器利用Docker搭建sqli-labs靶场环境

    一、安装宝塔面板 使用xshell、electerm、SecureCRT等远程终端连接登陆上云服务器,在Linux宝塔面板使用脚本安装 安装后,如下图:按照提示,在云服务器防火墙/安全组放行Linux宝塔面板的端口 在浏览器打开上述网址,登录Linux宝塔面板: 二、安装Docker 在Linux宝塔面板登陆后,在

    2024年02月10日
    浏览(52)
  • 虚拟机内搭建CTFd平台搭建及CTF题库部署,局域网内机器可以访问

    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版本后再安装 docker配置: #如果想自定义docker镜像下载

    2024年02月13日
    浏览(47)
  • CTF 三大测试靶场搭建:DVWA、SQLi-LABS、upload-labs 靶场部署教程(VM + CentOS 7 + Docker)

    目录 前言 靶场介绍 DVWA SQLi-LABS upload-labs 靶场搭建 CentOS 7 虚拟环境准备 靶场环境部署 系统环境配置 Docker 环境配置 下载 Docker 配置 Docker 镜像源 启动 docker  靶场配置 靶场镜像抓取 创建并运行 docker 容器 靶场的访问  靶场的初始化 DVWA 靶场重置 SQLi-LABS 靶场重置 upload-labs 靶

    2024年01月24日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包