世间上的相遇
都是久别重逢
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
● 扫码关注我们