本地Ubuntu14.04虚拟机搭建fbctf线上CTF比赛平台教程

最近,网络空间安全的概念被不断提及,网络安全也越来越受到人们的重视,由此,各种各样的信息安全竞赛也应运而生,可谓是铺天盖地,让人眼花缭乱!不知不觉,自己也逐渐成了一个小赛棍。。。。。。其实搞信安,最重要的就不不断地去实践,也只有在不断的实践中,以赛代练,才会让自己 的能力得到不断的提升。但是面对如此多的CTF,究竟该选择哪个呢?其实,只有最适合自己水平的才是最合适的。水平太低和太高,自己都得不到锻炼甚至还会打击自己的信心。哈哈说这些似乎是有些跑题了,其实我想说的是,CTF虽好,但绝不能盲目参加!接下来,回到正题:

在参加了各种各样的CTF之后有没想过举办属于自己的一场CTF呢?哈哈,我知道你一定这样想过!But 自己没有建站的基础,个怎么办?这时Facebook的FBCTF出现了,并且还是开源(https://github.com/facebook/fbctfcd fbctf ) !FBCTF是一个由 facebook用PHP语言开发的在线安全比赛平台, 学生和开发者可通过此平台了解网络安全和进行安全编码的实践。FBCTF平台开源内容包括CTF游戏地图,可用平台组织自己的线上网络安全比赛。开放注册团队以及得分榜。 现有平台中的挑战包括逆向工程、取证技术、web应用程序安全、密码学和二进制攻击。


然而,在部署fbctf的路上我却一脸懵逼啊,按照官方文档试了试,失败!在网上搜教程,少之又少(不过墙外有不少好东西哦)找了很久,发现了一个表哥几天前写的( ubuntu14.04虚拟机中搭建fbctf线上比赛平台)大家也可以参考下。下面就来说一说具体步骤:

1、建虚拟机(本地Ubuntu系统或者server也都可以)

按照官方文档,建一个Ubuntu14.04 64bit的虚拟机,内存我给了2G(一定要保证内存2G以上,不然配hhvm时会出错,HHVM内存大户。。),硬盘给了15G。

2、翻墙

之前我试了很多次,都失败了,后来才发现需要翻墙,应该是执行脚本的时候,下载的东西里面有墙外的东西,一直配置不好,翻墙后,问题迎刃而解。

3、安装git

sudo apt-get install git

4、下载fbctf

git clone https://github.com/facebook/fbctf

cd fbctf

5、执行脚本,安装Apache2和MySQL(MySQL的默认password为root)

./extra/provision.sh -m prod -c self -s $PWD

6、安装hhvm

执行完后会发现hhvm一直安装不上,这里可以参考官方源码和教程(FBCTF

echo '140.211.166.134 dl.hhvm.com' >> /etc/hosts

wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add -

echo deb http://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list

sudo apt-get update

sudo apt-get install hhvm

7、再次执行脚本

./extra/provision.sh -m prod -c self -s $PWD

8、测试

到这里,经过一段时间安装后,会看到这样的提示“fbctf deployment is complete!”,说明安装成功了,注意管理员账号一般为admin,但这里会随机生成管理员密码,要保存备份一下,方便以后管理与修改!最后可以打开虚拟机的浏览器,输入127.0.0.1测试

注意:一定记得翻出去~~~推荐个翻墙神器(Psiphon3


一个awd攻防比赛的裁判平台。 版本:beta v2.0 开发语言:python3 + django 平台分为两个部分 裁判机 靶机 通过特定接口,来实现靶机flag与服务器的通信 搭建流程 裁判机 安装所需环境 裁判机:python3+django 全局搜索woshiguanliyuan,并修改为随机字符串,此处为管理平台地址 /untitled/urls.py path('woshiguanliyuan/',views.admin,name='admin'), path('woshiguanliyuan/table/',views.admin_table,name='admin_table'), /app/views.py if 'woshiguanliyuan' not in request.META['HTTP_REFERER']: 第31和47换为你的目录 列:("/var/www/awd_platform/app/qwe.txt","a") 修改app/management/commands/init.py,添加用户 #['用户名','用户靶机token','用户靶机token'] user=[ ['123456','FF9C92C7SDFABB71566F73422C','FF9C92C7SDFABB71566F73422C'], ['aaabbb','311F8A54SV9K6B5FF4EAB20536','311F8A54SV9K6B5FF4EAB20536'] ] 修改/app/views.py第行d89f33b18ba2a74cd38499e587cb9dcd为靶机中设置的admin_token值的md5 if('d89f33b18ba2a74cd38499e587cb9dcd'==hl.hexdigest()): 运行 python3 manage.py init python3 manage.py manage.py runserver --insecure 靶机 安装所需环境 靶机:python+requests 修改send_flag.py参数,并将其放入靶机,设权限700。 靶机 sudo python send_flag.py。 靶机生成flag脚本,send_flag.py import requests import time import random import string import hashlib token='woshiwuxudong' # 红队 baji='311F8A54SV9K6B5FF4EAB20536' def getFlag(): #return ''.join(random.sample(string.ascii_letters + string.digits, 48)) m = hashlib.md5(''.join(random.sample(string.ascii_letters + string.digits, 48)).encode(encoding="utf-8")).hexdigest() return m while(1): f=open('/flag','w') flag=getFlag() f.write(flag) data={ 'flag':flag, 'token':token, 'baji':baji, } r=requests.post('http://127.0.0.1/caipanflag/',data=data) print(r.text) f.close() time.sleep(300) 重要须知 更新作者基础上: 1.增加flag验证一次性失效性,使得每个用户都并且仅可以提交一次flag 2.增加排名情况 3.flag改为MD5 4.增加丢失flag一轮扣100分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值