Facebook CTF平台搭建--年轻人的第一个做题平台

Posted 霍格·孤独歌者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Facebook CTF平台搭建--年轻人的第一个做题平台相关的知识,希望对你有一定的参考价值。

项目地址: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

以上是关于Facebook CTF平台搭建--年轻人的第一个做题平台的主要内容,如果未能解决你的问题,请参考以下文章

docker:搭建年轻人第一个LNMP网站平台

小米立 Flag:要做年轻人的第一个深度学习框架

小米立了一个新的Flag:要做年轻人的第一个深度学习框架

是否有事件或其他方式来处理用户在 Facebook Messenger 平台上向机器人发送的第一条消息?

CTFd平台部署

安装FBCTF