Docker搭建ctfd平台

embedded/2024/10/15 16:02:18/

dockerdockercompose_0">安装dockerdocker-compose

docker_1">(1)安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

(2)安装 Docker Compose:

yum install docker-compose

安装失败参考下面文章

https://www.cnblogs.com/goloving/p/16253880.html

解决步骤
先看自己的系统和架构

uname -suname -m

image.png

选择对应的文件下载

https://github.com/docker/compose/releases

image.png
下载完成后,上传至服务器,移动到 /usr/local/bin 下

mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

image.png

赋予执行权限

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

image.png

创建软连接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

(3)验证一下是否安装成功:

docker --versiondocker-compose --version

image.png

搭建CTFd平台

# 创建一个文件夹CTFd
mkdir CTFdcd CTFd# 下载CTFd
git clone https://github.com/CTFd/CTFd.gitcd CTFd# docker方式后台下载镜像源并启动
docker-compose up -d# 查看容器
docker ps

image.png

此时,CTFd平台已经搭建完成,访问一下80、8000端口均可访问CTFd平台

http://192.168.61.137:8000http://192.168.61.137:80

docker开机自启动

systemctl enable docker

完成一系列设置,点finish进入CTFd平台
image.png
image.png
image.png
image.png

用户名:m7
管理员电子邮件:m7m7@qq.com
管理员密码:m7m7m7

image.png
image.png
image.png
image.png

部署CTF题目

使用CTFTraining题库进行演示

# 创建CTF目录
mkdir CTFtmcd CTFtm#安装CTFTraining
sudo git clone https://github.com/CTFTraining/CTFTraining.gitcd CTFTrainingls

注意:这里只能git下来目录,目录中是空的,需要一个一个CTF题目去git
image.png

下载CTF题目,以0ctf_2016_unserialize为例

sudo git clone https://github.com/CTFTraining/0ctf_2016_unserialize.git# 进入题目目录中
cd 0ctf_2016_unserialize/ls

image.png

编辑docker-compose.yml文件,设置端口及flag:

vim docker-compose.yml

image.png

使用docker-compose下载镜像生成容器并启动容器

docker-compose up -d# 查看docker
docker ps

image.png

在页面输入ip:8302即可本地访问
image.png

CTFd平台创建题目

点击Admin Panel进入管理配置界面
image.png
选择challenges添加一个挑战
image.png
选择standard,依次填写题目信息,点击create创建
image.png
配置相关信息,点击finish完成
image.png

回到首页,点击challenges就能看见刚才创建的题目image.png
点击即可看到题目链接
image.png
image.png

CTF题库

近年ctf writeup大全

https://github.com/ctfs/write-ups-2016
https://github.com/ctfs/write-ups-2015
https://github.com/ctfs/write-ups-2014
fbctf竞赛平台Demo
https://github.com/facebook/fbctf
ctf Resources
https://github.com/ctfs/resources

http://www.ppmy.cn/embedded/39987.html

相关文章

matlab人脸识别

在MATLAB中实现人脸识别通常涉及到图像处理、特征提取和分类器的使用。下面是一个简化的MATLAB人脸识别代码的概述,使用了PCA(主成分分析)作为特征提取方法,以及简单的分类器(如最近邻分类器)进行分类。请注…

Android面试题之kotlin热流和channel

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点 于冷流不同,在垃圾回收之前,flow里的值都是存在内存之中,并且处于活跃状态 StateFlow StateFlow是一个状态容…

Django性能之道:缓存应用与优化实战

title: Django性能之道:缓存应用与优化实战 date: 2024/5/11 18:34:22 updated: 2024/5/11 18:34:22 categories: 后端开发 tags: 缓存系统Redis优点Memcached优缺点Django缓存数据库优化性能监控安全实践 引言 在当今的互联网时代,用户对网站和应用…

Linux(Ubuntu24.04) 安装 MinIO

本文所使用的 Ubuntu 系统版本是 Ubuntu 24.04 ! # 1、下载 MinIO wget https://dl.min.io/server/minio/release/linux-amd64/minio# 2、添加可执行权限 chmod x minio# 3、导出环境变量,用于设置账号密码,我设置的账号和密码都是 minioadmin export MI…

每周日发系统规划与管理师伴读脑图,今天是第4章

从第4章开始,系统规划与管理师的学习就正式步入了主题,考虑到我过去中断了2周,想必你的第4章教程已经看完了吧?

MySql 事务

事务ACID特性 事务:一组操作要么全部成功,要么全部失败,目的是为了保证数据的最终一致性。 原子性(Atomicity):当前的事务要么同时成功,要么同时失败。原子性由undo log日志来实现。(mysql undo log日志会…

[单机]成吉思汗3_GM工具_VM虚拟机

稀有端游成吉思汗1,2,3单机版虚拟机一键端完整版 本教程仅限学习使用,禁止商用,一切后果与本人无关,此声明具有法律效应!!!! 教程是本人亲自搭建成功的,绝对是完整可运行的&#x…

java spring 11 推断构造方法 createBeanInstance

1.doCreateBean方法:这一部分 BeanWrapper instanceWrapper null;if (mbd.isSingleton()) {// 有可能在本Bean创建之前,就有其他Bean把当前Bean给创建出来了(比如依赖注入过程中)instanceWrapper this.factoryBeanInstanceCache…