CTF本地靶场搭建——GZ:CTF基础使用

GZ::CTF 是一个基于 ASP.NET Core 的开源 CTF 平台。

简介

GZ::CTF 是一个基于 ASP.NET Core 的开源 CTF 平台,采用 Docker 或 K8s 作为容器部署后端,提供了可自定义的题目类型、动态容器和动态分值功能。

本项目缘起于作者认为 CTFd 的实现不优雅,动态容器配置需要采用插件的方式,且前端不好看,同时为了办校赛和帮助其他学校的同学办赛,于是自己动手写了一个。

特性

创建高度可自定义的题目

题目类型:静态附件、动态附件、静态容器、动态容器

  • 静态附件:共用附件,任意添加的 flag 均可提交。

  • 动态附件:需要至少满足队伍数量的 flag 和附件,附件及 flag 按照队伍进行分发。

  • 静态容器:共用容器模版,不下发 flag,任意添加的 flag 均可提交。

  • 动态容器:自动生成并通过容器环境变量进行 flag 下发,每个队伍 flag 唯一。

动态分值

分值曲线:

image.png

三血奖励: 平台对一二三血分别奖励 5%、3%、1% 的当前题目分值。

比赛进行中可启用、禁用题目,可多次放题

动态 flag 中启用作弊检测,可选的 flag 模版,leet flag 功能。

分组队伍得分时间线、分组积分榜

其他

基于 Docker 或 K8s 的动态容器分发、管理、多种端口映射方式

基于 SignalR 的实时比赛通知、比赛事件和 flag 提交监控及日志监控

SMTP 邮件验证功能、基于 Google ReCaptchav3 的恶意注册防护

用户封禁、用户三级权限管理

可选的队伍审核、邀请码、注册邮箱限制

平台内 Writeup 收集、查阅、批量下载

可下载导出积分榜、可下载全部提交记录

比赛期间裁判监控、提交和主要事件日志

题目流量 TCP over WebSocket 代理转发、可配置流量捕获

基于 Redis 的集群缓存、基于 PGSQL 的数据库存储后端

面向 Prometheus / OpenTelemetry 的监控和数据追踪

全局配置项自定义、平台标题、备案信息

基础使用

管理员账号进去后如下图所示:

image.png

左侧分为五个功能模块,分别为首页、文章、赛事、队伍、关于、管理

image.png

首页的话没有太多需要介绍的,展示的是置顶文章和最近赛事。

文章栏主要是用来写一些告示内容,一般都是比赛时前几天发一些前情须知和比较大的分析文件的链接(加密的应急响应包啥的)。新建的方式也很简单,填写如下所示即可:

image.png

赛事可以查看所有的比赛情况,包括比赛的细节、排名、得分情况、比赛监控等。

image.png

队伍模块则是集中展示各个参赛队伍的详细信息,可以加入队伍或者创建队伍。

image.png
image.png

管理模块是整个内容的核心部分,其中又包括比赛管理、队伍管理、用户管理、实例管理、系统日志、系统设置。

比赛管理

进入后点击新建比赛,如下位置:

image.png

修改题目为你自己的,再设置对应时间即可。

image.png

填写内容如下,按照自己要求来即可~,修改完点击保存更新。

image.png

同时也可以新增比赛公告,这也比较容易,在此不赘述。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

新增题目是一个重点,也是难点,具体放到后面来单独细说,这里先只看看基础的怎么建。

image.png

点击新建,输入题目名字,下拉选择题目标签和题目类型。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
image.png

像MISC和Crypto一般也都是静态的文件,但是PWN和WEB一般都是动态的了,而如果考察应急响应的话对标之前陇剑杯的题型也是静态文件,但是帕鲁杯时就直接给的大的虚拟机,反正总之,出题方式多种多样。

这里我们选择静态文件。

image.png

然后看难度来给提示吧,如果难就多提示一下,最后预览了没问题保存更改即可,题目就已经更新上去了。

image.png

队伍审核主要是审核参赛队伍的资格。

image.png

writeup是下载所有参赛队伍的wp来进行赛后核验的。

image.png

这几点就是比赛管理中的基础功能。

队伍管理

顾名思义,对队伍进行管理。

image.png

用户管理

对平台注册的用户进行管理。

image.png

实例管理

这个后面会讲到,主要是对动态容器的实例进行查看和管理。

image.png

系统日志

查看所有的日志信息。

image.png

系统设置

可以自己做一些二开的操作,同时设置一些账号策略、容器策略等。

image.png

以上都是管理下的子功能,除去管理外,还有几个个性化的按钮。

image.png

调整文字、界面颜色选择、用户信息查看和登出。

总的来说,GZ:CTF这个开源靶场确实还是制作的非常用心的,比CTFD好用一些,也推荐网络安全的学习者使用这个。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习-03-函数的连续调用

深度学习-03-函数的连续调用 本文是《深度学习入门2-自製框架》 的学习笔记,记录自己学习心得,以及对重点知识的理解。如果内容对你有帮助,请支持正版,去购买正版书籍,支持正版书籍不仅是尊重作者的辛勤劳动&#xff0…

v-for中key的作用

v-for中key的作用 例如我们用v-for渲染一个列表[1, 2, 4 ,5],然后在中间插入一个3变成[1,2,3,4,5]。v-for写了key和没有写key,Vue是怎么处理的呢? Vue对有key的会调用patchKeyedChildren方法;没有key的调用patchUnkeyedChildren方…

领导力中的说服艺术

本文主要介绍了亚里士多德修辞三角理论,即演讲者在说服听众时如何运用品格(Ethos)、情感(Pathos)和逻辑(Logos)三种基本的修辞手法。原文: The Art of Persuasion in Leadership 亚里士多德的说…

autodl服务器中YOLOx训练自己数据集

目录 本篇文章主要讲解使用YOLOx训练自己数据集,其中包括数据集格式转换~ 目录 一、数据集处理二、环境配置三、配置文件修改四、开始训练五、开始验证 一、数据集处理 第一步:将yolo格式的数据集转换成VOC格式 转换脚本:txt_to_xml.py f…

备战十一届大唐杯国赛预选赛

这次省赛带了太多个省一了,具体可看下面的图片,只放了一部分。目前根据可靠消息,应该还有个预选赛和去年一样,就是还会考一次仿真。如果说通过了就是国二起步然后去北方工业争夺国一国二,没过的话就是国三。 每…

CCIG学术论坛|文档解析技术加速大模型训练与应用

目录 前言一、大模型训练和应用过程的关键环节面临的问题1、数据2、算力3、语料4、训练时间5、模型规模与复杂度6、部署和推理效率7、安全和隐私 二、高精准、高效率的文档解析三、文档解析技术难点四、TextIn文档解析1、算法Pipeline2、文档图像预处理算法效果3、版面分析算法…

海南省三支一扶报名照上传失败?别忘了这

一、海南三支一扶报名照上传失败的2个原因 1.未按要求使用浏览器:请使用IE浏览器(IE8以上版本)、Chrome(谷歌浏览器)或 Firefox(火狐)浏览器 来使用本系统,360浏览器等其他浏览器请使用极速模式…

python-最接近target的值

【问题描述】:给定一个数组,在数组中找到两个数,使它们的和最接近目标值的值但不超过目标值,然后返回它们的和。 【问题示例】:输入target15,array[1,3,5,11,7],输出14,31114。 完整代码如下: …

使用 Navicat 工具查看 SQLite 数据库中的 PNG 图片

Navicat 是一款功能强大的数据库管理工具,支持多种数据库类型,包括 SQLite。它提供了一个直观的用户界面,可以轻松查看、编辑和管理数据库数据。 SQLite 是一种轻量级的嵌入式数据库,常用于移动应用程序和小型项目。它支持存储各…

Pytest框架中的Setup和Teardown功能

在 pytest 测试框架中,setup 和 teardown是用于在每个测试函数之前和之后执行设置和清理的动作,而pytest 实际上并没有内置的 setup 和 teardown 函数,而是使用了一些装饰器或钩子函数来实现类似的功能。 学习目录 钩子函数(Hook…

JavaWeb笔记整理+图解——Listener监听器

欢迎大家来到这一篇章——Listener监听器 监听器和过滤器都是JavaWeb服务器三大组件(Servlet、监听器、过滤器)之一,他们对于Web开发起到了不可缺少的作用。 ps:想要补充Java知识的同学们可以移步我已经完结的JavaSE笔记&#x…

CTF本地靶场搭建——基于阿里云ACR实现动态flag题型的创建

接上文,这篇主要是结合阿里云ACR来实现动态flag题型的创建。 这里顺便也介绍一下阿里云的ACR服务。 阿里云容器镜像服务(简称 ACR)是面向容器镜像、Helm Chart 等符合 OCI 标准的云原生制品安全托管及高效分发平台。 ACR 支持全球同步加速、…

WPF Binding对象、数据校验、数据转换

在WinForm中,我们要想对控件赋值,需要在后台代码中拿到控件对象进行操作,这种赋值形式,从根本上是无法实现界面与逻辑分离的。 在WPF中,微软引入了Binding对象,通过Binding,我们可以直接将控件与…

MySQL 导出导入的101个坑

最近接到一个业务自行运维的MySQL库迁移至标准化环境的需求,库不大,迁移方式也很简单,由开发用myqldump导出数据、DBA导入,但迁移过程坎坷十足,记录一下遇到的各项报错及后续迁移注意事项。 一、 概要 空间问题源与目…

使用最小花费爬楼梯 | 动态规划

1.使用最小花费爬楼梯 题目连接:746. 使用最小花费爬楼梯 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开…

数据结构---时间复杂度与空间复杂度

文章目录 1. 知识背景2. 什么是时间复杂度?3. 空间复杂度4 .大O渐进表示法:对于一些算法的时间复杂度存在最好,最坏,平均的情况: 5. 常见的时间复杂度举例总结:6. 空间复杂度的举例与总结:总结&…

【HarmonyOS】List组件多层对象嵌套ForEach渲染更新的处理

【HarmonyOS】List组件多层对象嵌套ForEach渲染更新的处理 问题背景: 在鸿蒙中UI更新渲染的机制,与传统的Android IOS应用开发相比。开发会简单许多,开发效率提升显著。 一般传统应用开发的流程处理分为三步:1.画UI,…

三丰云评测:免费虚拟主机和免费云服务器体验

今天我来为大家分享一下我的三丰云评测体验。三丰云是一家提供免费虚拟主机和免费云服务器的服务商,为了方便大家了解他们的服务,我特地注册了他们的免费虚拟主机和免费云服务器进行试用。在实际体验中,我发现三丰云的服务表现非常出色。首先…

攻防世界---web---Web_php_unserialize

1、题目描述 2、 3、分析代码 class Demo { private $file fl4g.php; }:定义了一个名为Demo的类,该类有一个私有属性$file,默认值为fl4g.php。 $a serialize(new Demo);:创建了一个Demo类的实例,并对其进行序列化&a…

C++设计模式-状态模式

运行在VS2022,x86,Debug下。 28. 状态模式 状态模式让一个对象的行为随着内部状态的改变而改变,而该对象也像换了类一样。应用:如在游戏开发中,游戏有不同场景,如主菜单、开始、战斗等。可以使用状态模式&…