🗃️用CTFd搭建自己的CTF靶场
为什么要搭建 1.发现好多平台的题库都有一些旧 2.自己打比赛的时候会留下很多题目需要去复现(总是zip压缩之后就放在硬盘吃灰了) 搭建过程 这个博客是直接python本地跑的的并没有用Docker。 想用Docker的话就用下面的指令。 sudo docker run -d -p 8000:8000 -it ctfd/ctfd 开始正文 1.下载解压 cd ~ mkdir CTFd cd CTFd wget https://github.com/CTFd/CTFd/archive/refs/tags/3.7.2.zip unzip unzip 3.7.2.zip 2.创建python虚拟环境 python3 -m venv myvenv source myvenv/bin/activate 3.跟着官方安装教程来 pip install -r requirements.txt 也可以用prepare.sh来操作 可以根据需要来配置CTFd/config.ini,里面有安全配置,数据库和Redis什么的,我是在本地跑的完全不需要。 我直接运行了,默认使用SQLite数据库。 python server.py 因为我是跑在虚拟机里,host是127.0.0.1,虚拟机外访问不到,编辑一下server.py 把host改为0.0.0.0,其实也可以吧debug关了。 现在就能在虚拟机之外访问了。 访问4000开始配置,over 4.一键运行脚本 因为是在python venv跑的,写一个service刚才没搞出来。。先用个sh凑活一下 写一个run.sh #!/bin/bash source /home/yalois/CTFd/CTFd-3.7.2/myvenv/bin/activate nohup python /home/yalois/CTFd/CTFd-3.7.2/serve.py > /home/yalois/CTFd/CTFd-3.7.2/output.log 2>&1 & deactivate 运行脚本run.sh ...