CTF动态题目构建

注意事项

本教程需要科学上网以及外网VPS

如果选择本地出题或者使用github存储镜像这里推荐一个项目(不保证可用)

GitHub - tech-shrimp/docker_installer: Docker官方安装包,用来解决因国内网络无法安装使用Docker的问题

Github 创建容器镜像文档

先在 https://hub.docker.com/ 注册一个账号

记住账号和密码

然后创建一个存储库

在VPS上运行docker login登录账号

输入已注册的账号名或邮箱,然后输入密码

出现Login Succeeded即为登录成功

出题模板

根据模板要求放置对应源码和填写配置文件

参考文章:https://hello-ctf.com/Create/WebBaseChallenge/

GitHub - CTF-Archives/ctf-docker-template: Deployment template for docker target machine in ctf for CTFd and other platforms that support dynamic flags

GitHub - qsnctf/qsnctf_base_docker_https://api.xieweiling.top/blog/2024/9/26/images: 青少年CTF基础Docker镜像

构建

直接将项目文件放入 模板中的 ./src 目录中即可

然后执行docker build -t 注册的用户名/仓库名:标签 .

例如

docker build -t beik0/mewiphgcgt:web3 .

即可开始构建镜像

构建完成后

docker push beik0/mewiphgcgt:web3

上传镜像文件到 https://hub.docker.com/

然后执行docker push 注册的用户名/仓库名:标签

例如

docker push beik0/mewiphgcgt:web1

出现sha256:xxxxx证明上传成功

测试

cd ./docker

docker-compose up -d