Docker搭建ctfd平台

安装docker和docker-compose

(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.hqwc.cn/news/690658.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序获取手机号,用户昵称,头像

一、手机号 在微信小程序中,获取用户手机号也需要用户的明确授权。你可以使用 button 组件的 open-type 属性设置为 getPhoneNumber 来实现这个功能。当用户点击这个按钮时,会弹出一个对话框请求用户的授权。如果用户同意,你可以在 bindgetp…

C++入门——命名空间、缺省参数、函数重载、引用、内敛函数、auto关键字

目录 前言 一、什么是C 1.1 C关键字(C98) 二、命名空间 2.1 命名空间定义 1.正常命名空间的定义 2.命名空间的定义可以嵌套 3.同名的命名空间会合并 2.2 命名空间的使用 三、C输入&输出 四、缺省参数 4.1 缺省参数概念 4.2 缺省参数分类 五、函数重载 5.1 …

draw.io 网页版二次开发(3):打包和部署(war包)

目录 一 说明 二 环境配置 1. 下载并安装 Apache Ant 2. 下载并安装JDK和JRE 3. 下载tomcat 4. Ant、JDK和JRE 环境变量的配置 三 draw.io打包 四 部署 五 最后 一 说明 应公司项目要求,需要对draw.io进行二次开发,并将html界面通过iframe 嵌…

Github上 5 个好玩儿的开源项目

1. 在你的 Windows 养小猫 2. 把你的图片生成 ASCII 3. 中国制霸生成器 4. 像素风格代码字体 5. 梦回 QQ 空间 01 在你的 Windows 养小猫 在MacBook的触摸板上,你可以抚养一只小宠物,并与它互动、喂食,这样非常有趣。 我向你推荐了一个…

六级翻译笔记

理解加表达 除了专有名词不能自己理解翻译,其它都可以 时态一般唯一 题目里出现有翻译为 客观存在: there be 单词结尾加er和ee的区别:er是主动,ee是被动 中文句子没有被动,也可以英文翻译为被动 中文的状语可以不是…

Python | Leetcode Python题解之第84题柱状图中最大的矩形

题目: 题解: class Solution:def largestRectangleArea(self, heights: List[int]) -> int:n len(heights)left, right [0] * n, [n] * nmono_stack list()for i in range(n):while mono_stack and heights[mono_stack[-1]] > heights[i]:righ…

如何根据招聘信息打造完美简历

如何根据招聘信息打造完美简历 招聘信息分析简历调整策略个性化与关键词结语 在求职过程中,简历是第一块敲门砖。它不仅展示了你的专业技能和工作经验,还体现了你对所申请职位的理解和热情。然而,如何从招聘信息中提炼关键点,打造…

C# Linq中的自定义排序

1.开发过程中&#xff0c;会遇到OrderBy/OrderByDescending排序无法满足的情况&#xff0c;此时就需要自定义排序&#xff0c;按照想要的排序规则取排序&#xff0c;比如订单的状态等等。 2.自定义泛型比较器代码如下&#xff1a; /// <summary>/// 自定义泛型比较器(用…

Navicat连接MySQL数据库(新手版)

一、打开navicat软件 二、创建一个测试连接1、点击【连接】&#xff0c;选择【MySQL】 图标变绿表示连接成功

部署yolov5

1 创建一个yolov5的环境 conda create -n yolov5 python3.8 2 激活环境 conda activate yolov5 3 设置清华源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 4 PyTorch 网站下载pytorch 备注:也可以使用pip install 5 下载 yolov5…

SNMPv3-原理浅谈+报文示例+简易配置

个人认为&#xff0c;理解报文就理解了协议。通过报文中的字段可以理解协议在交互过程中相关传递的信息&#xff0c;更加便于理解协议。 因此本文将在 SNMPv3 协议报文的基础上进行介绍。 SNMPv3 相关 RFC 文档。 关于 SNMPv3 的基本内容介绍&#xff0c;可参考RFC3410-Intro…

实现树莓派DS18B20读取温度(OneWire)

简介 使用的是树莓派3B, Go编程实现OneWire方式读取DS18B20温度。 接线 DS18B20 包含经典三线&#xff0c; VCC和GND自不必说&#xff0c; 主要的是DQ线&#xff0c; 需要接4.7K的上拉电阻&#xff0c; 即4.7K欧姆的电阻接到DQ和VCC&#xff0c; 否则树莓派识别不到DS18B20&am…