下面要讲的东西是基于你已经使用CTFd搭建好了这样一个简易靶场
因为misc、crypto这些题目一般都是放附件,这个比较简单,直接做好在前端放上去就行
而部署web的题,我们需要在终端进行,这里我们使用docker-compose来进行部署
至于题库的话,取自CTFTraining
安装docker-compose:
apt-get install docker docker-compose
题库链接:
https://github.com/CTFTraining/CTFTraining
首先我们下载需要的题目: git clone +题目地址+放置的目录
(比如下载 https://github.com/CTFTraining/ciscn_2019_web_northern_china_day1_web1)
git clone https://github.com/CTFTraining/ciscn_2019_web_northern_china_day1_web1 /root/CTFTraining/phar
完成后我们展开当前目录,找到下载文件所在目录并进入
我们需要修改配置文件,即docker-compose.yml,使用vim命令打开
vim docker-compose.yml
打开后大致是这样的(其他web题也差不多)
我们将flag的值修改成我们自己喜欢的字符串;
将地址改为0.0.0.0, 端口号选一个未被占用的即可(地址必须改,否则访问题目可能无法打开)
修改之后wq保存退出
在该题所在目录启动题目
docker-compose up -d
使用 docker ps 查看,发现已经存在这个容器
我们去访问一下试试(靶场地址+题目端口号)
跳转成功,顺利打开题目页面
至此,我们web题目的环境便搭建好了,只需将它添加到CTFd前端即可
填入题目的相关信息,放置好题目链接
设置flag的值
添加成功
回到challenge里查看,web题目部署成功
至此,我们知道了基于CTFTraining如何在CTFd部署Web题目
这个是我自己搭建的CTF靶场,靶场地址:MyonCTF
里面杂项和密码学题目很简单,也是我自己做的题目,比较具有总结性吧,也适合新手入门,感兴趣的欢迎来玩,很容易AK的哈哈哈。