下一代网络安全竞赛系统(理论、CTF、AWD)开发与设计
一、引言
之前开发了CTF、AWD两个单独系统没有做数据整合以及数据清理,所以后期维护特别麻烦。
故使用Thinkphp6 + Mysql + Redis 重新开发系统 综合性竞赛系统(即容纳更多战队、赛题、竞赛)
二、设计
Docker虚拟节点
重构开发Docker API接口,平台统一调用接口,使用Swoole。
接口路由信息
$routeArray = [ "/_ping" => "ping", "/info" => "info", "/version" => "version", "/images" => "images", "/image/inspect" => "inspectImage", "/image/history" => "historyImage", "/image/delete" => "deleteImage", "/containers" => "containers", "/container/run" => "runContainer", "/container/exec" => "execContainer", "/container/start" => "startContainer", "/container/stop" => "stopContainer", "/container/delete" => "deleteContainer", "/container/pause" => "pauseContainer", "/container/unpause" => "unpauseContainer", "/container/restart" => "restartContainer", "/container/inspect" => "inspectContainer", "/upload/file" => "uploadFile",];
通过配置文件设置 配置信息
; Ti0sBox Virtual Agent Config; 配置项[config]; 最大数据包 单位M 设置文件上传最大值 不建议设置超过50Mpackage_max_length = 20; HTTPS 证书位置 需要设置物理相对路径ssl_cert_file = "ssl/cacert.pem"ssl_key_file = "ssl/private.pem"[ti0sbox]; 如允许多个IP 请使用 "|" 分割host = ""; 开启服务端口 需要防火墙针对该端口放行port = 65223; 留空随机 启动后 ti0sbox.log 中可查看随机值token = 123456
数据包通过SSL加密防止数据包被劫持,通过校验来源IP地址和Token来实现通信
Usage of: sh main.sh [start|restart|status|stop|init|info]1.启动【start】启用一个虚拟节点,但是在启动之前需要初始化,生成 ti0sbox.ini 文件2.重启【restart】同启动删除进程中启动任务,重新启动虚拟节点3.状态【status】获取当前虚拟节点运行状态4.停止【stop】停止当前虚拟机节点。5.初始化【init】生成 ti0sbox.ini 文件,虚拟节点配置文件6.信息【info】获取 启动虚拟节点信息,如在节点配置中未设置x-auth-token,获取随机生成秘钥。
启动虚拟节点后,后台添加虚拟节点即可
添加题目时选择节点信息,然后选择节点中的镜像,选择对应映射的端口信息
竞赛中心
支持创建多竞赛(现支持理论、CTF、AWD)、多组队、公开\内部竞赛
创建后 涵盖两个功能区
① 配置区
配置区涵盖的功能 常规竞赛信息配置,竞赛配置,竞赛指南配置,战队/选手配置,题目配置,报名审核(公开赛可报名竞赛)
② 运营区
运营区涵盖功能 竞赛面板信息,公告管理,选手管理,实例运维,提交记录,攻击记录,巡检记录,成绩管理
控制面板
题目管理
①理论赛管理
②解题赛管理
③攻防赛管理
账号管理
前台功能
三、体验与反馈
功能体验站点:https://demo.competition.ww1.ti0s.com/
建议反馈站点:https://support.qq.com/product/500969
来源地址:https://blog.csdn.net/mengsheng86/article/details/129278079
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341