搭建一个全新CTF靶场平台

0x00 前言

由于疫情原因,在家闲着无聊,给学弟学妹搭一个CTF平台,所以去研究研究CTFD,但是我没有在我可怜的阿里学生机上跑起来,无奈之举,立志要写一个CTF平台。写了一个前端还算糊弄的CTF平台。可能还有好多BUG没有发现,但是目前主要功能还是可以使用的,适合举办中小型比赛!

网站架构:

前端:Materialize CSS + jQuery + 部分Bootstrap,采用 Html + Ajax 动态刷新页面

后端:纯PHP             数据库:Mysql

推荐使用Linux 别问为什么 我也不知道

0x01 功能

1. 动态Flag(格式为: 动态Flag{md5(用户Key+题目随机)})

2. 注册模式为:无任何注册验证、手机注册验证(互亿无线接口)、邮箱注册验证

3. WebPwn题目完全支持Docker分发 做到一人一容器 一人一FLAG

4. 动态分数和静态分数:动态分数题目初始分值为 1000 PT 随着做出的人越多 分值越低,最低分10分,计算公式:1001-1000/(1.01+2.1^(12-解题人数))。静态分值,可在后台题目中自己设定。

5. 前几血加分功能:可以设置 前几名解题的加分功能

6. 邀请码功能:注册时 是否需要邀请码 后台可以随机生成 有时效的邀请码。

7. 平台两种模式运行 日常练习 限时竞赛

0x02 特性

1. 简单方便,不需要任何服务和额外配置 只要 lnmplamp环境即可(PHP7.0以上)

2. 保证公平:详细的排名规则,首先按分数排名,分数相同时先做出题的人排在前面,不受字典序影响

3. 动态FLAGDocker分发 完美配合 做到一人一容器 一人一FLAG

4. 更多功能等待挖掘......

0x03 页面

搭建一个全新CTF靶场平台

这是一个毫无功能的首页 

搭建一个全新CTF靶场平台

只是一个 公告 可以是解题提示 也可以是赛项说明

搭建一个全新CTF靶场平台

绿色的是已经解答的题目 橙色为 鼠标经过的颜色

搭建一个全新CTF靶场平台

透明系的 解答拟态窗

搭建一个全新CTF靶场平台

不会画图的学生

搭建一个全新CTF靶场平台

可以放置在线工具和下载工具的Github地址

搭建一个全新CTF靶场平台

这是我的个人中心

搭建一个全新CTF靶场平台

不知道有没有万能密码的绕过的登录窗口

搭建一个全新CTF靶场平台

注册需要输入邀请码 ~

搭建一个全新CTF靶场平台

部分隐私已经打码

搭建一个全新CTF靶场平台

附上一个丑陋无比的大屏奥利给

0x04 数据库

使用Mysql 数据库 其他的我也不知道了

0x05 细节

以前没学过PHP,同过写这个平台才发现单引号和双引号的功能那么大,到现在我也搞不懂

数据库查询比较多,因为丑陋大屏要1秒请求一下数据库 想办法这个得优化优化 代码繁多 

0x06 缺陷

缺少 商城兑换功能、 缺少WriteUp功能、缺少队伍功能、缺少等等等

0x07 代码

太多了,就略去吧~

0x08 挑战

欢迎大家来战 CTF平台地址:点我进入

如果你连邀请码都得不到 你怎么是一个合格的Web(wang wang wang) 

HintConsole  你猜你猜 你猜猜猜

0x09 最后

最后的最后,我们都是孩子。