V2 更新了一些小东西
!!!NeedStar!!!Github-CTFd-docker
该版本的 CTFd 全部运行在 docker 中,并且通过映射 unix 在 docker 里面控制宿主机的 docker,以管理 docker 动态容器。使用该项目可以在 5-10min 之内构建出支持动态容器的靶场。
旧的文章 -【CTFd】靶场安装与配置(Docker 一键配置版)
前面一段时间,想基于 CTFd 进行二开一下。有不少前辈给 CTFd 写过插件,例如赵总的 Whale,H1ve 的 Owl,和支持 AWD 的 glowworm。
他们写的插件各有好处,Whale 支持 swarm 的部署,Owl 支持 docker-compose(暂时不支持 swarm,后面可以改,不过暂时没空),glowworm 是目前唯一一个 AWD 插件。其中 Whale 和 Owl 都以来与 Frp 进行流量转发,通过不断重载 frpc 的配置实现,但是他们两个插件并不是增量刷新,而是以直接覆盖的形式进行。于是我整合了两个插件的内容和,让他们共用一个 frps 模块(现在才想到为什么不能用两个呢,但是这就要两个域名了不是吗)。
然而事情不是一帆风顺的,在修改了插件的目录结构后,整个插件都不能正常初始化了,还得对他们进行依赖的修改。然后对旧版的 owl 插件进行一定的修改,使用了新版的 docker-compose 工具以支持 swarm 的使用。
TODO: owl 插件更新 swarm 支持(已更新)
另外作为一个安全平台,不更新到最新版本的 CTFd 内核总是有点不太合适,于是更新到了 CTFd 3.5.2 版本,也修改了不少安装流程,优化了安装体验,可以在 docker-compose 里面自定义域名等,也会自动生成密钥不容易被攻击。
同时也测试了很多不同系统,也用该系统在本校新生赛中构建了一个全新的靶场,体验很棒。
小记而已,暂时就这样了。