FBCTF平台安装

本文介绍了在Ubuntu 14.04 LTS系统下搭建FBCTF开源CTF平台的详细步骤。包括环境准备、拉取源码、修改安装脚本、添加.npmrc配置信息、安装及使用等环节,还提及使用国内源替换以解决安装问题,以及安装过程中可能出现的错误处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一言难尽 = =开始不知道FBCTF只能安装在Ubuntu,在本地搭建半天好不容易弄起了PHP环境,打开错误,后来才知道只能在Ubuntu 14.04 LTS下安装= =

FBCTF是Facebook开发的一套开源的CTF平台,PHP语言,GitHub地址:https://github.com/facebook/fbctf/

而且我找到的大部分教程都是需要FQ的,各位也知道这两年国内开始整治网络。咳咳不多说了

这次我就用了国内的源替换,否则就安装不了。

一、环境准备

首先我们要有一个Ubuntu 14.04 LTS系统,没有的话网上自行搜教程,这个很多我就不说了,先更新一下。

1 sudo apt-get updata && sudo apt-get upgrade -y

 然后再安装一些必要软件

1 sudo apt-get install git vim g++ -y

二、拉取FBCTF

创建目录,要是桌面版的Ubuntu就直接右键新建了= =

1 sudo mkdir /fbctf
2 sudo chmod 777 -R /fbctf

拉取源码

1 git clone https://github.com/facebook/fbctf
2 cb fbctf

再然后把源码移动到/fbctf目录下

1 mv fbctf/* /fbctf

三、修改安装脚本

这里就很重要了,因为有些源无法访问,我们只能用国内的一些镜像,我们需要修改安装脚本extra/lib.sh

1 vim /fbctf/extra/lib.sh

搜索 http://dl.hhvm.com/ubuntu  替换为 http://dl.hiphop-php.com/ubuntu

 

搜索 https://getcomposer.org/installer   替换为 https://install.phpcomposer.com/installer

 

四、添加.npmrc配置信息

创建~/.npmrc文件

1 vim ~/.npmrc

添加下面的代码

1 registry = https://registry.npm.taobao.org

 

五、安装

我们快速安装就行了,时间可能需要1h左右,看网速。

1 cd /fbctf/
2 source ./extra/lib.sh
3 quick_setup install prod

安装过程需要多次输入sudo密码,也有可能下载失败而退出,退出时再次使用quick_setup install prod重复安装即可。

 

当出现下面的安装错误时,可以跳过前面的安装过程,用下面的脚本安装

1 curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
2 sudo apt-get install -y nodejs

然后再使用quick_setuo install prod继续安装

然后应该就没什么问题就安装成功了,成功出现下面的界面,一定要记住那个密码,那就是admin的密码,后面可以后台修改。

六、使用

访问http://localhost或者127.0.0.1

提示证书错误,我们加到例外中继续访问。

 

 搭建成功

在后台页面可以更改为中文,但暂时只有繁体汇中文

 

最后,为了能让其他人访问,关闭Ubuntu防火墙

1 sudo ufw disable

 

### 关于 BUUCTF Web2 和 FBCTF 2019 RCEService 的挑战解析 #### 背景概述 在 CTF 比赛中,Web 类型的题目通常涉及 SQL 注入、命令执行、文件上传漏洞等多种攻击向量。对于提到的 **BUUCTF Web2** 和 **FBCTF 2019 RCEService** 题目,两者都涉及到后端逻辑的利用以及特定函数的行为分析。 --- #### 解析 BUUCTF Web2 (SUCTF 2019 EasySQL1) 此题的核心在于通过输入非零数字触发 `||` 运算符作为布尔运算的结果为真[^1]。然而,在进一步挖掘 flag 时,由于后台存在额外的 “或” 逻辑条件,此时需要将 `||` 当作字符串拼接操作符使用。这可以通过调整 MySQL 的配置参数实现: ```sql SET SESSION sql_mode='PIPES_AS_CONCAT'; ``` 上述语句会临时更改当前 session 下的操作模式,使得 `||` 表现得如同 CONCAT 函数一般工作[^3]。这种技巧允许选手构造复杂的查询链路以提取敏感数据。 --- #### 探讨 FBCTF 2019 RCEService Writeup 针对该题目,主要关注点是如何绕过 PHP 中正则表达式的限制并成功注入恶意代码片段。具体而言,`preg_match()` 函数被用来验证用户提交的内容是否合法[^2]。如果能够找到一种方式使匹配失败但仍保留有效载荷,则可以完成远程命令执行的任务。 以下是可能的一种 payload 构造方法: ```php <?php // 利用环境变量特性传递 shellcode 并仅限单次生效 putenv('CMD=id'); echo system($_ENV['CMD']); ?> ``` 在此过程中需要注意的是,所创建的所有自定义 assignment 只能在单一 HTTP 请求周期内存活;一旦交互终止,一切恢复正常状态。 --- #### 综合思考两道题目的联系与区别 尽管表面上看二者分属不同赛事且技术方向有所侧重——前者偏向数据库层面的安全隐患探索而后者聚焦脚本语言内部机制的研究——但实际上它们均体现了对标准行为之外特性的深刻理解能力的重要性。无论是改变默认语法解释还是巧妙运用内置功能边界情况,都是解决这类难题的关键所在。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值