Build_lab

Ubuntu Server 安装 DVWA 和 SQLI-Lab

环境下载

本地虚拟机安装ubuntu server 20.04.1 LTS 然后使用xshell连接服务器,采用xftp上传一键下载环境的脚本,脚本内命令如下:

#!/bin/sh
echo '\n1、新增ppa源\n';
add-apt-repository ppa:ondrej/php;
echo '\n2、更新本地源\n';
apt-get update && apt-get upgrade;
echo '\n3、安装git\n';
apt-get install git;
echo '\n4、安装php(5.6)\n';
apt-get install php5.6;
echo '\n5、安装必要的php依赖库\n';
apt-get install php5.6-mysql libapache2-mod-php5.6 php5.6-gd;
echo '\n6、安装apache2服务\n';
apt-get install apache2;
echo '\n7、设置环境为php5.6\n';
a2enmod php5.6;
echo '\n8重启apache2服务\n';
/etc/init.d/apache2 restart;
echo '\n9、安装mysql服务\n';
apt-get install mysql-server;
echo '\n10、切换到web服务目录,并删除默认页面\n';
cd /var/www/html/;
rm index.html;
echo '\n11、git下载DVWA源文件到本地\n';
git clone https://github.com/digininja/DVWA.git;
echo '\n12、git下载SQLI-Lab源文件到本地\n';
git clone https://github.com/Audi-1/sqli-labs.git;
echo '\n=========环境下载结束,请开始配置环境=========\n';
ehco '\n========web服务路径为:/var/www/html/========\n';

环境配置

1、PHP 5.6 环境配置

首先使用root权限打开php中关于apache2的配置文件

vim /etc/php/5.6/apache2/php.ini

然后在命令模式下输入:/allow_url_include 将后面的值,按如下方式修改:

allow_url_include = On

2、MYSQL 数据库配置

本次安装的是最新版本的mysql 8.0.21,在终端直接输入mysql即可登录,因为密码是空! 创建一个用于dvwa操作的数据库,命令如下:

mysql> create database dvwa;

特别说明:如果按照上面的操作,在老版本的mysql数据库中,就满足要求并可以正常连接了,但由于版本更迭,mysql 8对数据库默认配置进行了更新,为了兼容老版本的php,还请进行以下修改! 打开编辑mysqld配置文件:

vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]下方新增以下三行命令:

# 设置密码编码格式
default_authentication_plugin=mysql_native_password
# 设置编码格式
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

3、 DVWA 环境配置

首先进入DVWA配置文件路径;

cd /var/www/html/DVWA/config/

进行配置文件的创建;

cp config.inc.php.dist config.inc.php

修改配置文件中的数据库连接项;

#####原始数据如下#####
$_DVWA = array();
$_DVWA[ 'db_server' ]   = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'dvwa';
$_DVWA[ 'db_password' ] = 'p@ssw0rd';
#####本次修改内容如下#####
$_DVWA = array();
$_DVWA[ 'db_server' ]   = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'root';
$_DVWA[ 'db_password' ] = '';

设置文件夹可写权限:

chmod 777 -R /var/www/html/dvwa/hackable/uploads/
chmod 777 /var/www/html/dvwa/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt
chmod 777 -R /var/www/html/dvwa/config

关于reCAPTCHA key: Missing,是调用google的验证码接口,用来做安全测试,但是调用接口需要梯子,本地测试,可以不填写,如果想体验,可百度自行替换。

4、SQLI-Lab环境配置

编辑配置文件vim /var/www/html/sqli-labs/sql-connections/db-creds.inc,填写数据库的用户名($dbuser)密码($dbpass)。

$dbuser ='root';
$dbpass ='';
$dbname ="security";
$host = 'localhost';
$dbname1 = "challenges";

浏览器输入ip地址,访问首页,逐步点击即可完成实验室搭建,但由于数据库版本采用的是最新的,所以老旧的历史漏洞不能成功复现。