CTF平台搭建:CanHackMe

世间上的相遇

都是久别重逢

CanHackMe平台介绍

一个基于 php 的 CTF 开源平台。

官网:https://canhack.me/

项目地址:https://github.com/safflower/canhackme

CanHackMe安装环境

Ubuntu 16.04+Apache 2.4+PHP 7.3

环境下载:https://developer.aliyun.com/mirror

安装Apache 2.4

命令:

sudo apt update
sudo apt install apache2

然后检查是否成功:

apache2 -v

安装 PHP 7.3

命令:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php7.3

检查是否成功:

php -v

安装 Sqlite3

sudo apt install sqlite3
SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。

安装 php-sqlite3 模块

命令:

sudo apt install php7.3-sqlite3

这里需要注意,要修改 php.ini 文件 /etc/php/7.3/apache2/php.ini,把前面的分号去掉

extension=sqlite3

安装 php-mbstring 模块

sudo apt install php-mbstring

同样的,需要修改 php.ini 文件 /etc/php/7.3/apache2/php.ini,把前面的分号去掉

extension=mbstring

项目搭建

下载

先下载项目,直接下载上传:

下载地址:https://github.com/safflower/canhackme

git 方式下载:

git clone https://github.com/safflower/canhackme

配置路由

先配置路由,修改 apache2 配置文件

vim /etc/apache2/apache2.conf

把路径改成你实际的网站根目录,AllowOverride None 改为 AllowOverride ALL

<Directory /var/www/html>
       Options Indexes FollowSymLinks
       AllowOverride ALL
       Require all granted
</Directory>

开启 mod_rewrite 模块

命令:

sudo a2enmod rewrite

然后重启 apache2

service apache2 restart

导入 .sql 数据库文件

进入到 @import/confs/ 目录下,导入 init.sql 文件到 sqlite3

sqlite3 .common.db < init.sql
root@linuz:/var/www/html/@import/confs# sqlite3 .common.db
SQLite version 3.11.0 2016-02-15 17:29:24
Enter ".help" for usage hints.
sqlite> .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE `users` (
       `user_no` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
       `user_name` TEXT NOT NULL UNIQUE,
       `user_email` TEXT NOT NULL UNIQUE,
       `user_password` TEXT NOT NULL,
       `user_comment` TEXT NOT NULL,
       `user_score` INTEGER NOT NULL,
       `user_signed_up_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
......
sqlite> .exit

然后更改 confs 目录权限为 www-data

sudo chown -R www-data:www-data confs/

设置 recaptcha

recaptcha 地址:https://www.google.com/recaptcha

在上面注册你的平台网站(选择 recaptcha 第3版)

然后获取秘钥:

在平台的配置文件common.php里面,修改一些网站的基本信息,包括网站URL、作者信息等

更换秘钥

第一个密钥替换 common.php 文件里的 recaptcha_sitekey 内容

第二个密钥编辑成 .recaptcha_secretkey.txt 文件,放到 @import/confs 路径下

创建题目

平台没有后台,所以只能直接访问 sqlite3 数据库添加题目

添加题目命令:

sqlite> INSERT INTO "chals" VALUES(1,'name','title','contents',100,'CanHackMe{xxxxxxxxxxxx}','web','1','2019-09-12');

微信号 : NowSec

新浪微博:@NowSec

● 扫码关注我们

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值