阿里云ecs服务器搭建CTFd(ubuntu20)

news2024/11/26 13:30:27

1.更新apt包索引

 sudo apt-get update

更新源

1、使用快捷键【ctrl+alt+t】打开终端。
2、输入以下命令备份原有软件源文件。
cp /etc/apt/sources.list /etc/apt/sources.list.bak_yyyymmdd
3、再输入以下命令打开sources.list文件并添加新的软件源地址。
vim /etc/apt/sources.list #打开sources.list文件

PS: 新安装的Ubuntu可能没有安装Vim, 用如下命令先安装Vim:
sudo apt-get install vim-gtk

在文件末尾添加新的软件源地址,常用国内源地址如下:

#阿里源地址

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

安装docker

使用的是通过版本安装
更新系统包索引
sudo apt-get update
添加HTTPS协议,允许apt从HTTPS安装软件包
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
添加Docker公共密钥 Docker 官方源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
设置版本库类型,软件版本包括三种: stable、edge、test
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
在这里插入图片描述

安装最新版docker-ce

sudo apt-get install docker-ce
设置开机自启动并启动docker
sudo systemctl enable docker
sudo systemctl start docker


在这里插入图片描述

安装docker-compose

通过GitHub安装
进入https://github.com/docker/compose/releases 查看最新版本。
sudo curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose
设置权限
sudo chmod +x /usr/local/bin/docker-compose
查看是否安装成功
docker-compose --version
出现docker-compose version 1.26.2即安装成功
在这里插入图片描述

使用鲸喵师傅打包好的ctfd和whale插件

先准备好docker环境和docker-compose

创建swarm集群
docker swarm init

加入集群
docker node update --label-add=‘name=linux-1’ $(docker node ls -q)

拉取镜像
git clone https://github.com/VaalaCat/CTFd.git --depth=1
git clone https://github.com/VaalaCat/ctfd-whale.git
在这里插入图片描述
修改token
两个文件的token值修改成一样的,如果用到了域名记得修改subdomain_host
vim CTFd/conf/frp/frps.ini
修改前
在这里插入图片描述
修改后
在这里插入图片描述

vim CTFd/conf/frp/frpc.ini
在这里插入图片描述

安装插件(在CTFd目录下运行)

git submodule update --init
在这里插入图片描述

启动(在CTFd目录下运行)

docker-compose up -d

过程中报错

WARNING: The candidate selected for download or install is a yanked version: 'sqlalchemy-utils' candidate (version 0.36.6 at http://mirrors.aliyun.com/pypi/packages/aa/d3/f397b61a2eee34d023e7c1f2519b6e5a7058f3d857461eaa539cc38e1e85/SQLAlchemy-Utils-0.36.6.tar.gz#sha256=7a7fab14bed80df065412bbf71a0a9b0bfeb4b7c111c2d9bffe57283082f3a6b (from http://mirrors.aliyun.com/pypi/simple/sqlalchemy-utils/))
Reason for being yanked: Wrong required python
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
WARNING: You are using pip version 22.0.4; however, version 23.0 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.

在这里插入图片描述
安装过程中报错不用管
只要最后成功
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

设置

在这里插入图片描述
填完flag 一定要visiable
在这里插入图片描述

在这里插入图片描述

CONTAINER ID   IMAGE               COMMAND                  CREATED             STATUS             PORTS                                                                                                      NAMES
d05abef4e079   glzjin/frp:latest   "/usr/local/bin/frpc…"   About an hour ago   Up About an hour                                                                                                              ctfd_frpc_1
3add0d65a717   ctfd_ctfd           "/opt/CTFd/docker-en…"   About an hour ago   Up About an hour   0.0.0.0:9124->8000/tcp, :::9124->8000/tcp                                                                  ctfd_ctfd_1
879b46bb2a24   redis:4             "docker-entrypoint.s…"   About an hour ago   Up About an hour                                                                                                              ctfd_cache_1
42451ba23359   mariadb:10.4.12     "docker-entrypoint.s…"   About an hour ago   Up About an hour                                                                                                              ctfd_db_1
91ec1e86c71c   glzjin/frp          "/usr/local/bin/frps…"   About an hour ago   Up About an hour   0.0.0.0:9123->9123/tcp, :::9123->9123/tcp, 0.0.0.0:9125-9129->9125-9129/tcp, :::9125-9129->9125-9129/tcp   ctfd_frps_1
docker stop 3add0d65a717
3add0d65a717
root@iZ2ze41jrj3ayzon78axucZ:~# docker start 3add0d65a717

docker start 3add0d65a717
在这里插入图片描述

在这里插入图片描述

访问http://xx.xx.xx.xx:9124 (默认是9124,想要80可以修改docker-compose.yml)

平台配置
右上角的插件中进入 Whale 设置,其中,左侧 Docker/Limits/Challenges 菜单栏根据需求自行更改, Frp 菜单栏中的内容需要更改一下几个选项

Http Domain Suffix node.lewiserii.top 这里填写使用http方式访问靶机的泛解析域名
Http Port 8080 这里填写frps中的vhost_http_port,该端口为http方式靶机访问的端口
Direct IP Address xxx.xxx.xxx.xxx 这里填写服务器ip,用于显示Direct方式访问的题目的IP
Direct Minimum Port 9000 这里填写用于动态靶机Direct方式的开始端口
Direct Maximum Port 9200 这里填写结束端口

优点:非常稳定,基本都能一次成功

pwn题部署

运行CTFd

root@iZ2ze41jrj3ayzon78axucZ:~/CTFd# python3 serve.py

在公网可访问
root@iZ2ze41jrj3ayzon78axucZ:~/CTFd# sudo gunicorn --bind 0.0.0.0:8000 -w 1 “CTFd:create_app()”

-bash: syntax error near unexpected token `gunicorn'

切换到ctfd目录下执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/336326.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

本质安全设备标准(IEC60079-11)的理解(四)

本质安全设备标准(IEC60079-11)的理解(四) 对于标准中“Separation”的理解 IEC60079-11使用了较长的篇幅来说明设计中需要考虑到的各种间距, 这也从一定程度上说明了间距比较重要,在设计中是需要认真考虑…

VBA提高篇_ 21 随机数 / 模运算

文章目录1. 模Mod运算2. 随机数及其运算2.1 Rnd()函数调用Excel公式: Rand() / RandBetween()使用VBA函数: Rnd()函数2.2 随机小数化整数公式2.3 伪随机数(过程是随机的,但是实际上不是,随机数算法)2.3.1 随机数初始化2.3.2 随机小数被当做下标时会被自动四舍五入VBA的默认属性…

BERT简介

BERT: BERT预训练模型训练步骤: 使用Masked LM方式将语料库中的某一部分的词语掩盖住,模型通过上下文预测被掩盖的信息,从而训练出初步的语言模型在语料库中选出连续的上下语句,并使用Tranformer模块识别语句的连续性通…

PHP基于TCPDF第三方类生成PDF文件

最近在研发招聘的系统 遇到了这个问题 转换pdf 折腾了很久 分享一下PHP基于TCPDF第三方类生成PDF文件最近遇到一个需求,需要根据数据库的字段生成表格式的PDF文件并发送邮箱第一步、我们先去官网上面去下载tcpdf的类:http://www.tcpdf.org/或者是从githu…

LightGBM

目录 1.LightGBM的直方图算法(Histogram) 直方图做差加速 2.LightGBM得两大先进技术(GOSS&EFB) 2.1 单边梯度抽样算法(GOSS) 2.2 互斥特征捆绑算法(EFB) 3.LightGBM得生长策略(leaf-wise) 通过与xgboost对比,在这里列出lgb新提出的几个方面的技术 1.Ligh…

JavaScript 评测代码运行速度的几种方法

一、使用 performance.now() API 在 JavaScript 中,可以使用 performance.now() API 来评测代码的运行速度。该 API 返回当前页面的高精度时间戳,您可以在代码执行前后调用它来计算代码执行所需的时间。 例如: let t0 performance.now();…

计算机组成与设计04——处理器

系列文章目录 本系列博客重点在深圳大学计算机系统(3)课程的核心内容梳理,参考书目《计算机组成与设计》(有问题欢迎在评论区讨论指出,或直接私信联系我)。 第一章 计算机组成与设计01——计算机概要与技…

idea整合svn

idea整合svn svn下载 链接:https://pan.baidu.com/s/1yS3R3lEE8lm9c9Ap-ndDKg 提取码:65ur 基础步骤 IDED中配置SVN没有svn.exe解决办法 以下是两种解决方案 需要卸载原 svn(不推荐) 参考网址: https://blog.csdn.…

ansible以及playbook

文章目录1.ansible1.概念2.工作原理3.安装ansible2.playbook1.组件2.角色详解3.剧本语法3.1基本语法3.2常用字段3.3 选项1.ansible 1.概念 ansible是一个可以服务端控制其他机器完成工作的一个应用工具, 1.服务没有客户端存在,通过模块对节点服务器进行…

设计模式--建造者模式 builder

设计模式--建造者模式 builder)建造者模式简介建造者模式--小例子(电脑购买)1.产品类2.抽象构建者3.实体构建类4.指导者类5.客户端测试类小结建造者模式简介 建造者模式有四个角色,概念划分如下: Product : 产品类&a…

docker的基本管理

Docker的概念云计算三层架构服务说明应用IAAS基础设施及服务硬件(服务器、网络设置、防火墙等)虚拟化网络虚拟化(大二层)例:openstackPAAS平台及服务环境例:数据库、 docker 、kubernetesSAAS应用及服务应用…

内网渗透(十四)之内网信息收集-域环境中查找域内用户基本信息

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…

终于进了字节,记录一下我作为一名测试员磕磕碰碰的三个月找工作经历...

我是裸辞后重新找工作的,从去年到今年,前前后后花了大概三个月,大大小小参加了几百场面试。不是我说,作为一名测试员是真的挺难的,不过很庆幸自己最后拿到了字节的offer,今天在这里做一下记录吧&#xff0c…

从GPT到ChatGPT:我们离那个理想的AI时代到底还有多远?

写在前面 在2023年新年伊始,科技界最为爆火一款产品无疑是OpenAI公司出品的ChatGPT了,作为一名NLP领域从业者,似乎也好久没有看到如此热闹的技术出圈场景了。诚然从现象来看,无论从效果惊艳度、社会效应、商业价值、科技发展方向…

C++【多态】

文章目录1、多态的概念2、多态的定义及实现2-1、多态的构成条件2-2、虚函数2-3、虚函数的重写2-4 多态样例2-5、协变2-6、 析构函数与virtual2-7、函数重载、函数隐藏(重定义)与虚函数重写(覆盖)的对比2-8、override 和 final&…

spring的简单理解

目录 1 .ioc容器(控制反转) 2. Aop面向切面编程 3. 事务申明 4. 注解的方式启动 5. spring是什么与他的优势 6. 代理设计模式(比如aop) 7. springmvc中相应json数据 8. 使用lombok来进行对代码的简化 9. 使用logback记录…

学习SpringCloudAlibaba(二)微服务的拆分与编写

目录 一、单体架构VS微服务架构 1.单体架构 ​(1).单体架构的优点 (2).单体架构的缺点 2.微服务架构 (1)微服务的特性 (2)微服务架构图 (3)微服务的优点 …

大数据之------------数据中台

一、什么是数据中台 **数据中台是指通过数据技术,对海量数据进行采集、计算、存储、加工,同时统一标准和口径。**数据中台的目标是让数据持续用起来,通过数据中台提供的工具、方法和运行机制,把数据变为一种服务能力,…

ChatGPT使用、原理及问题

引言 2022年11月30日,OpenAI公布了他们的新产品:ChatGPT。随后ChatGPT火得一塌糊涂。通过b站搜索“ChatGPT”的结果: 搞学术的想着从它身上找点创新,吃瓜群众吃着这锅热瓜,想赚钱的眼睛贼亮🌟&#x1f31f…

C++11中function和bind的用法

C11中function和bind的用法一、简介二、std::function的用法2.1、保存普通函数2.2、保存lambda表达式2.3、保存成员函数三、std::bind用法总结一、简介 在设计回调函数的时候,无可避免地会接触到可回调对象。在C11中,提供了std::function和std::bind两个…