本公众号所发布的文章及工具只限交流学习,本公众号不承担任何责任!如有侵权,请告知我们立即删除。
关注浪飒sec回复
ctfpt
获取docker部署压缩包快速下载地址
Vue+Springboot开发的CTF学习平台,提供动态靶机、学习模块、writeup模块等等CTF平台的核心功能。提供docker版本。
演示视频:https://www.bilibili.com/video/BV1eA4y1o73C
Tips: 前后端分离项目,本仓库为后端,前端仓库在https://github.com/b1ackc4t/MarsCTF-client
初始管理员用户名/密码:admin/123456
下载 https://github.com/b1ackc4t/MarsCTF/releases 里已经打包好的docker包,解压后执行以下命令:
chmod -R 755 ./marsctf-docker # 赋予足够权限
cd ./marsctf-docker
docker-compose up -d
然后访问 http://127.0.0.1:7991 即可,使用其他ip无法访问后端服务。
如要修改访问ip,请修改/marsctf-docker/nginx/html/config.json
的BASE_URL_PROD
,然后重启服务即可
配置很简单,首先开启docker API(需要和平台在同一台机器上)
在后台平台配置处配置红框内的参数保存即可,容器返回IP即云服务器IP,docker API的ip推荐使用云服务器的内网ip或者docker0网卡IP
原理:使用frp将docker API服务器上开启的容器端口映射到平台服务器上,端口号不改。如:192.168.48.139:34567 -> 106.54.134.134:34567
docker API服务器上开启frpc,并开启frpc API
平台服务器上开启frps
随后根据配置填写对应参数即可
对于debian系的linux,已经提供了便携的脚本配置
首先修改./marsctf-docker/docker-tls/gen_key.sh
里的IP、密码以及其他元数据信息
# -------------------------------------------------------------
# 自动创建 Docker TLS 证书
# -------------------------------------------------------------
# 以下是配置信息
# --[BEGIN]------------------------------
IP="192.168.48.202" # 改为云服务器IP
PASSWORD="b1ackc4tyyds" # 用于docker-api通信的密钥
# 以下可改可不改
COUNTRY="CN"
STATE="HUBEI"
CITY="WUHAN"
ORGANIZATION="XXSSHH"
ORGANIZATIONAL_UNIT="Dev"
EMAIL="[email protected]"
改后保存,执行
cd ./marsctf-docker/docker-tls
chmod +x ./gen_key.sh
chmod +x ./startup.sh
./startup.sh
脚本会自动完成开启docker-api、产生tls密钥、配置tls密钥一系列步骤。
对于其他linux或者以上脚本失效的情况,则自行配置打开docker api,并配置tls证书,将生成的客户端ca.pem、ca-key.pem、cert.pem、key.pem
(名称固定,不然识别不到)复制到./marsctf-docker/main/CertKey
,然后重启docker服务即可
学习模块
挑战模块
writeup模块
公告、排行榜等其他功能
编写模式参考https://github.com/CTFTraining/CTFTraining
动态flag通过"FLAG"环境变量注入
湖北大学已申请了软件著作权