Skip to content

什么是 Cloudsdale?

Cloudsdale 是一个基于 Rust 构建、使用解题模式(Jeopardy)的 CTF 平台。她非常地 轻量,并且可以使用 简单 的配置文件快速部署。

本项目灵感来源于 CTFd、Cardinal、GZ::CTF 和 Ret2Shell,博采众长之下诞生了本项目。因为作者对软件的独特乃至夸张的理解,以及作者所在的学校资源非常有限,所以希望打造一个轻量又好用的 CTF 平台,给予学校 CTF 团队一个良好的体验。

使用场景

就像 ACM 一样,CTF 也应当有属于自己的定制化平台。Cloudsdale 非常适合组织小型的 CTF 比赛,或者进行 CTF 团队训练,灵活的题目管理功能可以更加高效地保存与使用题目。

功能

  • 题目
    • 静态题目:无靶机,判题依赖于一个/多个已知的 flag 字符串,通常依赖于附件系统
    • 动态题目:动态靶机,判题可依赖于静态 flag 字符串,也可以使用动态生成的 flag(通常为 UUID
  • 靶机
    • 多端口支持
    • 可自定义镜像的基本环境变量
    • 可自定义的容器计算资源索取量(内存与 CPU)
    • 可自定义的 flag 注入变量名
    • 可选的端口映射模式
    • 通过平台代理实现的流量捕获
  • 比赛
    • 可自定义的比赛题目分值
    • 可自定义的一二三血奖励比率
    • 过程中可随时禁用/启用题目,实现多次放题
    • 基于 Websocket 实现的比赛内消息广播
  • 数据库
    • 基于 SeaORM 的多种关系型数据库支持(PostgreSQL, SQLite3, MySQL)
  • 容器支持
    • Docker
    • Kubernetes