xChar
·10 months ago

之前搭建了ctfd靶场,现在尝试安装下GZCTF,看下两者有什么区别,安装GZCTF,查看官方文档是建议通过docker + K8s分离部署的方式部署GZCTF。

这里直接用https://github.com/MoRan23/GZCTF-Auto这个项目自动化部署。支持单 docker 以及 docker+k3s 部署

我是采用 docker+k3s 部署方式,需准备两台ubuntu机器,一台安装docker,一台安装k3s。

两台机器都是ubuntu20.04版本

安装k3s

ip:192.168.31.171

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

安装GZCTF平台

在安装有docker那台机器上安装,ip地址为:192.168.31.254

稍微等待,部署成功

访问http://192.168.31.254:81,用帐号密码登录

题目测试

拿下面这个docker靶场测试

ctftraining/qwb_2019_supersqli:latest

点击左侧管理

进入后,点击新建比赛,填写比赛标题名字

新建完成后,如下

点击右侧图标,来到如下页面

点击题目管理,新建题目

可选择题目类型

选择动态容器,来到如下页面

重点关注容器镜镜像,创建测试容器,填写docker镜像地址,点击创建测试容器,如下图:

启用题目

接下来,要访问题目,需要创建一个队伍,然后把相应的人添加进队伍

在信息审核处,可开启队伍报名免审核,这样报名某个队伍就需要要管理员审核了,否则加入则需要管理同意,未进入队伍的人不能访问题目。

点击队伍管理,可以创建队伍和加入队伍

加入队伍,需要其他队员发邀请码进入

点击创建队伍

创建完成后,可以生成邀请码

回到首页,即可报名参加比赛

出现上述问题,说明比赛未开启免审核,需要管理员去后台审核

重新用test账户登录,现在就可以进入比赛了

进入比赛,创建容器后,来到如下图

这里给的ws连接,这是因为启用了 tcp over ws 代理模式

如果要访问,需要下载https://github.com/XDSEC/WebSocketReflectorX/releases客户端

安装完成,打开输入ws连接地址

会给出题目ip加端口

然后访问题目用这个连接http://127.0.0.1:64143/访问题目

语言切换

参考

https://github.com/XDSEC/WebSocketReflectorX/releases
https://docs.ctf.gzti.me/zh
https://github.com/GZTimeWalker/GZCTF
https://github.com/MoRan23/GZCTF-Auto

封面图来自:
https://wallhaven.cc/w/kx5v57

Loading comments...