网站搭建
网站搭建这一块实际上原理是大同小异的,国光这里只写几个网站的安装方法,给大家提供一个思路。
DVWA
DVWA 是一个用来搞 Web 安全从业者入门使用的一个练习靶场,用来学习掌握基本的漏洞原理使用的,如果你对 Web 安全不感兴趣的话可以直接跳过这一个小节。
国光建议 DVWA 练习的时候 要结合源码去分析漏洞 不要直接把网上攻击流程走一步就草草了之了 不看源码的学习 等于啥都没有学
环境准备
因为 DVWA 靶场是 PHP编写的,所以你需要 提前配置好 Nginx 、PHP 以及 数据库,关于这方面配置可以参考前面开发环境下分类的「Nginx」、「MariaDB(MySQL)」和 「Nginx 解析 PHP」章节
下载 DVWA
Bashwget https://github.com/ethicalhack3r/DVWA/archive/master.zip
如果访问 Github 比较慢的话,可以尝试如下链接:
Bashwget https://github.com/ethicalhack3r/DVWA/archive/master.zip
解压到 Nginx 目录下
Bash# 解压
unzip master.zip -d $PREFIX/share/nginx/html/
# 重命名
cd $PREFIX/share/nginx/html/
mv DVWA-master dvwa
新建数据库
Sqlmysql -uroot -p*** -e"create database dvwa;show databases;"
***
这里是mysql的密码
可以看到 dvwa
数据库已经新建成功了。
编辑 DVWA 配置文件
Bash# 将配置文件 还原为 PHP 后缀
cd $PREFIX/share/nginx/html/dvwa/config
mv config.inc.php.dist config.inc.php
# 编辑配置文件
vim mv config.inc.php.dist config.inc.php
只需要定位找到如下内容 根据你的实际情况填写就可以了:
初次访问测试网站
按照上述配置好 DVWA 之后,浏览器访问: http://192.168.31.124:8080/dvwa/setup.php
可以看到 allow_url_include
运行 URL 远程包含没有开启,我们得手动开启一下:
实际上正常人是不会去开启这个的,十分危险,但是 DVWA 是一个靶场,有些漏洞实际上就是利用 PHP 配置不当造成的,这样才让新手有攻击下来的信心。
配置 php.ini
Termux 下默认是没有 php.ini 文件的,不信我们手动来查找一下:
Bashphp --ini
Configuration File (php.ini) Path: /data/data/com.termux/files/usr/lib
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
发现 php.ini 的文件应该存放在 /data/data/com.termux/files/usr/lib 目录下,但是 PHP 没有找到配置文件,所以需要我们手动在这个目录下新建 php.ini 配置文件:
Bashecho 'allow_url_include = On' > $PREFIX/lib/php.ini
注意这是一个不安全的配置 只是为了配合本地的 DVWA 靶场 做模拟黑客攻击练习使用的
配置完成后,自己尝试使用php --ini
来定位搜索配置文件,会发现 PHP 已经找到了配置文件了。
修改完配置文件后 得重启 php-fpm
服务:
# 杀掉 php-fpm 相关的进程
kill -9 `pgrep fpm`
# 再次启动 php-fpm
php-fpm
再次访问测试网站
浏览器访问: http://192.168.31.124:8080/dvwa/setup.php
可以看到刚刚的配置文件生效了,现在安全检查全部通过
既然 安全检查通过的话,那么就直接页面滚动到最下面直接点击 Create/Reset Database初始化数据库按钮即可,初始化成功后会自动跳转到登录界面。
DVWA 默认的用户有5个,用户名密码如下:
用户名 | 密码 |
---|---|
admin | password |
gordonb | abc123 |
1337 | charley |
pablo | letmein |
smithy | password |
登录成功的效果图:
Hexo
Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页。另外大家看到国光我的博客就是使用 Hexo 搭建的哦。
安装 Hexo
Hexo 是用 Nodejs 编写的,所以安装的话得使用 npm 命令来安装:
Bashnpm install hexo-cli -g
安装完成的话,顺便看一下 Hexo 相关的版本信息吧:
Bashhexo -v
Hexo 基本部署
我们建立一个目录,然后到这个目录下初始化Hexo 环境
Bash# 手动创建一个目录
mkdir hexo
# 进入目录下并初始化Hexo环境
cd hexo
hexo init
#生成静态文件 启动Hexo
hexo g
hexo s
然后就跑起来一个最基本的 Hexo 博客,关于 Hexo 博客的详细教程,建议搭建去参考Hexo官方文档,我这里重点在于 Termux 其他的不作过多的叙述.
使用浏览器访问: http://127.0.0.1:4000
即可看到 Hexo 的效果图:
Hexo 部署到 Nginx
Hexo 是纯静态博客,官方默认把 Hexo 搭建在 Github Pages 仅仅是把 Hexo 根目录的 public 文件夹即 Hexo 生成的纯 HTML 源码部署到上面而已。所以知道这样原理 我们就可以轻而易举地将 Hexo 部署到 Nginx 下面。
生成 HTML 纯静态源码
Bashhexo g
可以看到 Hexo 的根目录下 已经生成了 public 文件夹了
拷贝源码搭到 Nginx
现在我们只需要将 public 的文件夹里面的源码 全部拷贝到 Nginx 的网站根目录下:
Bash# 在 nginx 根目录下新建 hexo 文件夹
mkdir $PREFIX/share/nginx/html/hexo
# 拷贝 源码到 nginx 下
cp -rf public/* $PREFIX/share/nginx/html/hexo
访问效果查看
浏览器访问:http://127.0.0.1:8080/hexo/
即可看到效果:
当然这里网站的CSS等样式没有加载出来,这个原因是 Hexo 对网站目录下部署并不友好 ,大概有如下解决方法:
- Nginx vhosts 配置多域名,这个服务器上常用的操作,但是 Termux 里面实现难度较高
- 将 Hexo 的源码 直接拷贝到 Nginx 的根目录下,不用拷贝到 html/hexo 目录下了,然后直接访问
http://127.0.0.1:8080
即可看到效果
国光这里就只是说一下这个思路,因为强迫症的我 不能忍受 Nginx 根目录的文件 乱七八糟 =,= 大家想尝试的话 按照我这个思路去尝试就可以了
KodExplorer
KodExplorer 是一款开源文件资源管理器,搭建起来很简单,我们也可以在 Termux 搭建,这样就可以实现 Temux 下的文件分享了,十分优雅方便。在我的这篇文章:https://www.sqlsec.com/2019/11/kode.html 里面也讲解了 macOS下的安装。
下载解压 Kod
官网的下载地址:https://kodcloud.com/download/
我们拷贝下载链接后,使用 wegt 可以直接下载:
Bash# 下载
wget http://static.kodcloud.com/update/download/kodexplorer4.40.zip
# 解压 到 Nginx 的 kod 目录下
unzip kodexplorer4.40.zip -d $PREFIX/share/nginx/html/kod
安装设置 Kod
Nginx 确保已经配置可以解析 PHP,如果没有配置好,那么请惨叫 上文的 「开发环境」小节
手机浏览器访问: http://127.0.0.1:8080/kod 即可进入设置管理密码界面:
设置完密码登录看看,建议大家在 Kod 里面设置电脑版视图,效果很赞,下面是主界面截图:
推荐大家使用电脑版
当然在局域网的情况下,通过IP地址,局域网的其他设备也是可以轻松访问到你的文件的,文件共享目的达成。
WordPress
WordPress 是一个以 PHP 和 MySQL 为平台的自由开源的博客软件和内容管理系统。如果你的 Termux 没有配置好 MySQL、PHP、Nginx 的话 那么请参考上面的 开发环境
章节来进行配置。
新建数据库
网站需要数据库,在安装 WordPress 前我们先需要新建一个数据库,以供后面的网站安装:
Sqlmysql -uroot -p*** -e"create database wordpress;show databases;"
***
这里是mysql的密码
可以看到 wordpress
数据库已经新建成功了。
下载 WordPress
WordPress 历届版本: https://cn.wordpress.org/download/releases/
选择最新的版本后,复制下载的直链,那么就开始用 wget 下载并解压吧:
Bash# wget 下载
wget https://cn.wordpress.org/wordpress-5.4-zh_CN.zip
# unzip 解压 没有安装unzip请自行安装
unzip wordpress-4.9.4-zh_CN.zip
# 将解压的文件夹移动到 nginx 网站根目录下
mv wordpress/ $PREFIX/share/nginx/html
如果WordPress官网这个下载又问题的话,可以多尝试几次,也可以通过如下渠道来下载
- WordPress Too Many Requests 出现这种报错,多半是中国的IP又被国外屏蔽了,可以尝试使用迅雷来下载
- 挂代理来下载
- 百度找国内的第三方非官方下载站下载(不是很推荐)
配置 Nginx 解析
如果你读过前面的「开发环境」、「Nginx」、「Nginx 解析 PHP」三个小节的话,这里直接启动 php-fpm 和 Nginx 即可:
Bashphp-fpm
nginx
当然如果你的 php-fpm 和 Nginx 服务以及启动的话 就直接跳到下一步吧
安装 WordPress
浏览器访问: http://127/.0.0.1/wordpress/
进行 WordPress 的安装,根据提示填写好自己的 数据库信息即可安装,详细这一步大家都懂的,国光这里直接放安装好的效果图吧:
WordPress的后台