1、安装LAMP
在前,请先了解以下避坑指南:
1、指定PHP版本
DVWA的代码由于使用了PHP7.0起弃用的mysql_connect()函数,因此需要安装较低版本的PHP。
中安装的是8.2版本,需要改为较低且较为稳定的5.6版本:
# 将该命令
sudo yum-config-manager --enable remi-php82
# 改为
sudo yum-config-manager --enable remi-php56
2、补充PHP模块
DVWA - Linux Packages[1]列出了需要安装的模块,其中有些没有包含,需要加上:
# 在该命令后
yum -y install php php-devel
# 加上
yum -y install php-mysqli php-gd libapache2-mod-php
2、安装DVWA
wget https://github.com/digininja/DVWA/archive/master.zip # DVWA安装包:下载
unzip master.zip # DVWA安装包:解压
mv DVWA-master jHLXGbg1Y99WINXxrd # DVWA应用目录:改个特殊名称,避免被他人探测到
mv jHLXGbg1Y99WINXxrd /var/www/html # DVWA应用目录:移到Web目录下
cd /var/www/html/jHLXGbg1Y99WINXxrd/config; cp config.inc.php.dist config.inc.php # DVWA配置文件:创建
3、配置MySQL
1、在MySQL数据库中,创建名为dvwa的数据库:
-- 登录MySQL命令行界面
mysql -u root -p
-- 创建名为dvwa的数据库
mysql> create database dvwa;
Query OK, 1 row affected (0.00 sec)
2、在MySQL数据库中,创建名为dvwa的数据库用户:
-- 登录MySQL命令行界面
mysql -u root -p
-- 创建名为dvwa的数据库用户
mysql> create user dvwa@localhost identified by 'p@ssw0rd';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all on dvwa.* to dvwa@localhost;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
3、在DVWA配置文件中,配置MySQL数据库信息:
# 编辑配置文件
vim /var/www/html/jHLXGbg1Y99WINXxrd/config/config.inc.php
# 配置MySQL数据库信息
$_DVWA[ 'db_server'] = '127.0.0.1';
$_DVWA[ 'db_port'] = '3306';
$_DVWA[ 'db_user' ] = 'dvwa';
$_DVWA[ 'db_password' ] = 'p@ssw0rd';
$_DVWA[ 'db_database' ] = 'dvwa';
4、在DVWA前端,初始化MySQL数据库:
浏览器打开 http://[ip]/jHLXGbg1Y99WINXxrd/setup.php,点击 Create / Reset Database
初始化MySQL数据库。
4.1、MySQL编码报错:
若出现报错 Database Error #2054: Server sent charset unknown to the client. Please, report to the developers.
,需修改MySQL编码。
# 编辑配置文件
vim /etc/my.cnf
# 在 [mysqld] 下添加配置内容
character_set_server=utf8
# 重启MySQL服务
systemctl restart mysqld
4.2、MySQL验证方式报错:
若出现报错 Database Error #2054: The server requested authentication method unknown to the client.
,需修改MySQL验证方式:
# 编辑配置文件
vim /etc/my.cnf
# 在 [mysqld] 下添加配置内容
default-authentication-plugin=mysql_native_password
# 重启MySQL服务
systemctl restart mysqld
-- 登录MySQL命令行界面
mysql -u root -p
-- 修改MySQL验证方式
mysql> ALTER USER dvwa@localhost IDENTIFIED WITH mysql_native_password BY 'p@ssw0rd';
Query OK, 0 rows affected (0.02 sec)
4、配置PHP
访问 http://[ip]/jHLXGbg1Y99WINXxrd/setup.php,调整标红的配置,否则不存在对应的漏洞,导致无法进行练习。
# 编辑配置文件
vim /etc/php.ini
# 1
display_errors = On
# 2
display_startup_errors = On
# 3
allow_url_include = On
# 4
allow_url_fopen = On
# 重启Apache服务
systemctl restart httpd
# 在该命令后
yum -y install php php-devel
# 加上
yum -y install php-mysqli php-gd libapache2-mod-php
0
# 在该命令后
yum -y install php php-devel
# 加上
yum -y install php-mysqli php-gd libapache2-mod-php
1
5、使用DVWA
DVWA前端有5个默认的账号密码,密码是md5加密的:
# 在该命令后
yum -y install php php-devel
# 加上
yum -y install php-mysqli php-gd libapache2-mod-php
2
登录DVWA后,选择难度,就可以开始练习了。
参考资料
DVWA - Linux Packages: https://github.com/digininja/DVWA#linux-packages
[2]DVWA - Database Setup: https://github.com/digininja/DVWA#database-setup
[3]DVWA - Database Error #2054: Server sent charset unknown to the client: https://github.com/digininja/DVWA/issues/413
[4]linux中修改mysql的默认编码: http://blog.itblood.com/linux-modify-mysql-encoding.html
[5]DVWA - Unknown authentication method: https://github.com/digininja/DVWA#unknown-authentication-method
[6]DVWA - PHP configuration: https://github.com/digininja/DVWA#php-configuration
[7]DVWA - reCAPTCHA: https://github.com/digininja/DVWA#recaptcha
[8]DVWA - Folder Permissions: https://github.com/digininja/DVWA#folder-permissions
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...