Skip to content

Greenplumte4/securectf-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecureCTF

SecureCTF 是一个轻量级 CTF(Capture The Flag)竞赛平台后端系统,
用于网络安全教学、小型 CTF 比赛以及安全训练环境。

该项目实现了一个 可部署、可扩展的 CTF 平台基础框架


项目特性

  • 用户注册 / 登录
  • JWT 身份认证
  • 邮箱验证码注册
  • 题目管理
  • Flag 提交与判题
  • 排行榜系统
  • 管理员后台接口
  • Docker 一键部署

技术栈

Backend

  • Go
  • Gin Web Framework
  • GORM ORM

Database

  • MySQL

Authentication

  • JWT

Deployment

  • Docker
  • Docker Compose
  • Nginx

系统架构

系统整体架构

graph TD

User[用户浏览器] --> Internet[Internet]
Internet --> Nginx[Nginx 反向代理]
Nginx --> Backend[SecureCTF Backend API]
Backend --> MySQL[(MySQL 数据库)]
Loading

Backend 内部架构

graph TD

Router[Router] --> JWT[JWT Middleware]

JWT --> AuthHandler[Auth Handler]
JWT --> ChallengeHandler[Challenge Handler]
JWT --> SubmissionHandler[Submission Handler]

AuthHandler --> GORM
ChallengeHandler --> GORM
SubmissionHandler --> GORM

GORM --> MySQL[(MySQL)]
Loading

Docker 部署架构

graph TD

User --> Internet
Internet --> NginxContainer[Nginx Container]
NginxContainer --> BackendContainer[Backend Container]
BackendContainer --> MySQLContainer[(MySQL Container)]
Loading

项目结构

securectf-hub
├── backend
│   ├── config
│   ├── handler
│   ├── middleware
│   ├── model
│   ├── router
│   └── main.go
│
├── deploy
│   ├── docker-compose.yml
│   └── nginx
│
├── docs
│   ├── PRD.md
│   ├── api.md
│   ├── architecture.md
│   ├── er-diagram.md
│   └── roadmap.md
│
└── README.md

快速启动

1 克隆项目

git clone https://github.com/yourname/securectf.git
cd securectf

2 启动服务

docker compose up -d

3 查看服务

docker ps

访问:

http://服务器IP/api/ping

API 示例

注册

POST /api/register

请求:

{
  "username": "test",
  "password": "123456"
}

登录

POST /api/login

返回:

{
  "token": "JWT_TOKEN"
}

获取当前用户

GET /api/me

Header:

Authorization: Bearer TOKEN

提交 Flag

POST /api/submit

请求:

{
  "challenge_id": 1,
  "flag": "flag{example}"
}

开发路线

SecureCTF V1 实现以下核心模块:

  • 用户系统
  • 邮箱验证码
  • 比赛模块
  • 题目模块
  • Flag 提交
  • 排行榜

详细开发计划见:

docs/roadmap.md

文档

项目完整设计文档位于:

docs/

包含:

  • PRD(产品需求文档)
  • API 文档
  • 系统架构设计
  • 数据库 ER 图
  • 开发路线图

未来规划

V2 计划增加:

  • Docker 靶机环境
  • 组队赛
  • 动态 Flag
  • WebSocket 实时排行榜
  • 多比赛系统

License

MIT License


---

About

A lightweight CTF platform built with Go, Gin, React and Docker. Supports challenge management, flag submission, real-time scoreboard and admin panel.一个简简单单的demo,用go写的,重新找一下手感,很久没有动过了,嗯,主要是顺一下思路,这一次用的是gin.如果有什么不好的地方,见谅.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages