项目地址:https://github.com/facebook/fbctf
介绍:
从2013年开始,Facebook就在全世界举办CTF竞赛。现在,它将它的CTF平台源码放在Github上开源并向大众开放CTF平台。 Facebook安全部工程师Gulshan Singh说:
我们为所有人提供了一个能在后台维护的CTF平台,它有CTF游戏地图,注册团队,还有显示得分榜的功能。 现在平台中的挑战包括逆向工程、取证技术、WEB应用程序安全、密码学和二进制攻击。你也可以在FacebookCTF平台上定制你自己的竞赛。
安装:
平台分两种安装模式:开发模式和生产模式
开发模式使用到了Vagrant和Virtualbox
系统环境:Ubuntu14.04(物理机)
开发模式:
1、安装Git
apt-get install git
2、获取项目源代码
git clone https://github.com/facebook/fbctf
3、进入FBCTF文件夹
cd fbctf
4、安装Virtualbox和Vagrant(Windows版Vagrant安装参考:http://blog.csdn.net/zzqwvoid/article/details/54342117)
apt-get install virtualbox vagrant
5、查看Vagrant版本,低版本在后面的操作中会报错,最好安装最新版,如果是使用Ubuntu源安装的Vagrant将会在后面提示找不到命令(原因:vagrant版本太低;解决办法:安装最新版,参考:http://blog.csdn.net/zzqwvoid/article/details/54342117).
vagrant -v
6、下载安装Ubuntu14.04(需要安装Virtualbox,推荐Virtualbox,虽然Vmware也可以,但对应的Vagrant是收费版。)
vagrant box add ubuntu/trusty64
7、通过Vagrant开启虚拟机
vagrant up
开启成功后,可以通过浏览器访问 https://10.10.10.5 使用平台,并且可以通过‘vagrant ssh’命令连接Ubuntu14.04,连接后源代码位置:/var/www/fbctf/,做二次开发可以直接修改源代码,修改后重启服务即可。
生产模式:
系统环境:Ubuntu14.04(虚拟机)
安装步骤:
1、安装Git
apt-get install git
2、获取项目源代码
git clone https://github.com/facebook/fbctf
3、进入FBCTF文件夹
cd fbctf
4、赋予Provision.sh 可执行权限
chmod 777 extra/provision.sh
5、源码编译安装
./extra/provision.sh -m prod -s $PWD
6、赋予Lib.sh可执行权限
chmod 777 extra/lib.sh
7、修改admin密码
source ./extra/lib.sh
set_password new_password ctf ctf fbctf $PWD
新密码为“new_password”
安装完成后可以通过访问 https://[IP(虚拟机)] 使用平台。
使用普通用户登陆数据库
1、打开终端,使用超级管理员用户登陆Mysql数据库,并输入密码。
mysql -uroot -p
2、创建普通用户:xcu,并设置用户的密码:xcu2017
grant user 'xcu'@'127.0.0.1' identified by 'xcu2017';
3、对xcu用户进行授权。
grant all on fbctf.* to 'xcu'@'127.0.0.1' identified by 'xcu2017';
4、刷新数据库的权限设置。
flush privileges;
5、退出数据库
exit;
6、修改/var/www/fbctf/下的settings.ini配置文件。
DB_HOST = '127.0.0.1'
DB_PORT = '3306'
DB_NAME = 'fbctf'
DB_USERNAME = 'xcu'
DB_PASSWORD = 'xcu2017'
MC_HOST = '127.0.0.1'
MC_PORT = '11211'
7、重启MySQL服务。
service mysql restart
8、重新启动Nginx服务器。
service nginx restart