为了学校社团开学纳新,给自己社团举行团队CTF比赛,在暑假提前准备了一下比赛平台。虽然用了CTFd,但是FBCTF也是个很棒的比赛平台,界面很炫酷,但是资源占用比较大,在入门级服务器的环境下,还是有些吃不消的,再加上一直用CTFd,比较熟悉,所以最后还是选择了CTFd。
本人会在文章中提供本次实验所需工具的下载地址或文件。
在搭建CTF平台之前服务器已经安装网站所需的各样服务,依托于这些服务再搭建CTF平台,如果不会搭建网站所需平台,可自行Baidu、Google(爬墙)、Bing一下。哈哈~?后期本人会继续撰写基础文章,提供给各位学习。下面正式开始吧!
这篇文章是V1.2.0版本的安装教程,V2.0版本的教程以编写完成点击链接查看。
1.安装pip
yum install -y python-pip
2.安装Flask
pip install Flask
3.创建数据库
数据库名:CTFd
字符编码:utf8
4.创建用户
用户名:ctfd
密码:123456
5.用户数据库授权
6.下载CTFd源代码
下载地址:
·https://github.com/CTFd/CTFd/archive/master.zip #官方已更新到V2.0版本
·http://yad0.2020oz.com/CTFd-master.zip #此链接为V1.0版本,适用于本文章
·V1.0版本百度云资源:
链接:https://pan.baidu.com/s/1GfPSXs0eXJHUkNIFJT90qg
提取码:1afx
7.解压文件、修改配置
切换目录至"C:\CTFd-master\CTFd" 使用Notepad++编辑(也可使用记事本打开)
8.修改配置文件
原代码:
SQLALCHEMY_DATABASE_URI = os.environ.get('sqlite:///{}/ctfd.db?charset=utf8') or 'sqlite:///{}/ctfd.db'.format(os.path.dirname(os.path.abspath(__file__)))
修改为:
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or 'mysql+pymysql://数据库用户名:用户密码@localhost/数据库名?charset=字符编码'.format(os.path.dirname(os.path.abspath(__file__)))
举例:
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or 'mysql+pymysql://ctfd:123456@localhost/CTFd?charset=utf8'.format(os.path.dirname(os.path.abspath(__file__)))
HOST="网站域名或服务器IP地址"
HOST="www.domain.com"
9.使用Winscp上传CTFd-master
使用Winscp上传CTFd-master至/var/www/html目录下(上传之前更改文件夹名称为CTFd)
10.切换目录、文件夹递归赋权
依次输入如下命令(不包含“序号”):
1、cd /var/www/html
2、chmod -R 777 CTFd/
11.安装CTFd
1.切换目录:
cd CTFd/
2.执行安装
./prepare.sh
python server.py
本机访问:127.0.0.1:4000就可以访问,如果需要让其他主机与外网访问,则需要安装gunicorn
pip install gunicorn
gunicorn --bind 0.0.0.0:8000 -w 4 "CTFd:create_app()" #必须在/var/www/html/CTFd目录下执行此命令
12、访问CTF平台
方式1:
IP:8000
X.X.X.X:8000
方式二:
域名:8000
www.你的域名.com:8000
13、第一次访问注册管理员账户
注册完成后,点击Admin,进入后台,即可管理。
如有任何问题可在下方评论区留言,本人会第一时间解答。
文章使用工具:
序号 | 名称 | 作用 | 官网地址(下载地址) |
1 | Notepad++ | 文本编辑器 | https://notepad-plus-plus.org/ |
2 | Xshell | 远程登录 | http://www.netsarang.com/download/main.html |
3 | Winscp | 远程服务器文本编辑 | https://winscp.net/eng/download.php |
以上链接均为应用官方网站 |
- 如有疑问请联系admin@yad0.com
楼主你好,我想知道我建立好ctf的站点之后应该怎么做呀,如何上传题和自己自定义页面之类的呀,谢谢你啦,真的想请问下,我是初学,谢谢啦,真的感谢!
上传题目的教程已经上传到交流QQ群中,如有需要可点击网站下方加入QQ群按钮。