本科毕设CTF平台-MarsCTF

  金牌会员 | 2022-6-23 12:10:52 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 775|帖子 775|积分 2325

MarsCTF

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包,解压后执行以下命令:
  1. chmod -R 755 ./marsctf-docker  # 赋予足够权限
  2. cd ./marsctf-docker
  3. 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

多机部署


  • 针对希望把docker API服务器放在其他机器上和平台分开的情况。通常关闭即可

原理:使用frp将docker API服务器上开启的容器端口映射到平台服务器上,端口号不改。如:192.168.48.139:34567 -> 106.54.134.134:34567
docker API服务器上开启frpc,并开启frpc API
平台服务器上开启frps
随后根据配置填写对应参数即可
配置TLS


  • 针对内网不安全的情况,增加证书认证。通常关闭即可。

对于debian系的linux,已经提供了便携的脚本配置
首先修改./marsctf-docker/docker-tls/gen_key.sh里的IP、密码以及其他元数据信息
  1. # -------------------------------------------------------------
  2. # 自动创建 Docker TLS 证书
  3. # -------------------------------------------------------------
  4. # 以下是配置信息
  5. # --[BEGIN]------------------------------
  6. IP="192.168.48.202"        # 改为云服务器IP
  7. PASSWORD="b1ackc4tyyds"        # 用于docker-api通信的密钥
  8. # 以下可改可不改
  9. COUNTRY="CN"
  10. STATE="HUBEI"
  11. CITY="WUHAN"
  12. ORGANIZATION="XXSSHH"
  13. ORGANIZATIONAL_UNIT="Dev"
  14. EMAIL="xxxxxxxxx@163.com"
复制代码
改后保存,执行
  1. cd ./marsctf-docker/docker-tls
  2. chmod +x ./gen_key.sh
  3. chmod +x ./startup.sh
  4. ./startup.sh
复制代码
脚本会自动完成开启docker-api、产生tls密钥、配置tls密钥一系列步骤。
对于其他linux或者以上脚本失效的情况,则自行配置打开docker api,并配置tls证书,将生成的客户端ca.pem、ca-key.pem、cert.pem、key.pem(名称固定,不然识别不到)复制到./marsctf-docker/main/CertKey,然后重启docker服务即可
功能预览


  • 学习模块

    • 提供体系化学习资料,并和挑战中的CTF题目相关联



  • 挑战模块

    • 提供CTF题目,支持动态靶机
    • 题目类型、标签均可扩展



  • writeup模块

    • 分享解题思路的平台


  • 公告、排行榜等其他功能
docker赛题编写

编写模式参考https://github.com/CTFTraining/CTFTraining
动态flag通过"FLAG"环境变量注入
声明

此项目为本人在湖北大学的本科毕业设计,湖北大学已申请了软件著作权

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表