LAMP和LNMP介绍
因为DVWA 是一个动态网站,所以需要先部署好一个动态网站最基本的环境 (tip:动态网站是指可以交互的网站,如必应、百度、4399等,也可以理解成有数据存储(数据库)用户信息的网站服务器)
LAMP是指由 Linux + Apache + Mysql + Php 所构成的环境
LNMP是指由 Linux + Nginx + Mysql + Php 所构成的环境
ps:环境不一定是必须由这几个服务组成的,因为这两种是典型所以这里介绍到了这两种,动态网站环境最基本的是 操作系统 + 网站服务 + 数据服务 + 脚本环境
那么两者有什么区别呢?坦白来说其实区别不大
首先Linux 是最基本的操作系统,环境中的所有服务都是基于Linux之上的
接着是Mysql 服务,是一个最常使用到的数据库服务,无论是IT圈中的哪个行业都或多或少的会接触到Mysql (tip:Mysql因为一些已知原因一些功能需要收费,所以我们数据库也可以更换为使用MariaDB)
还有Php编译环境,用于运行Php脚本,保证DVWA中一些Php脚本的正常使用(tip:据我目前了解,越来越多的企业网站开始摒弃掉了Php转而使用Python,Java Script等这些更为新的脚本语言,所以我的建议是不再需要学习Php语言来增添学习成本。脚本语言中我比较推荐学习Python,简单且使用广泛,人生苦短,我用Python)
最后是Apache和Nginx,看这一篇同志们我相信都是没有接触很深的小白,所以这里我就不细说两者的区别了,可以简单的把两者看作都是部署网站的服务
LAMP的部署
因为LAMP和LNMP的部署基本一模一样,之在于Apache和Nginx的区别,想要使用Nginx的同志可以自行百度查询部署Nginx
Linux 系统无论使用哪个版本都一样,这里因为方便我就使用电脑中存在的Kali 系统了,同志们可以登陆Kali 官网进行下载 Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution
选择DOWNLOAD 进行下载所需要Kali 系统
因为我是使用VM(虚拟机)的方式搭建靶场,所以选择官方准备好的Kali 系统的虚拟机文件
选择自己所使用的虚拟机软件下载对应的文件,这里我使用的软件是VMware
因为是虚拟机文件下载完成后直接打开虚拟机就可以
默认登录用户是kali,密码默认是kali
apt install apache2 -y #下载apache服务
apt install mariadb-client mariadb-sever -y #下载Mariadb服务
apt -y install php8.2 php-pear libapache2-mod-php8.2 php8.2-mysql php8.2-curl php-json php8.2-cgi php8.2-gd #下载php服务及其所需环境
一般Kali 都是自带Lamp 环境的,如若没有可以使用以上命令下载和使用以下命令查看和开启服务
systemctl status 服务名 #查看服务信息
systemctl start 服务名 #开启服务
systemctl enable 服务名 #将服务加入开机自启
LAMP部署DVWA
因为网站的数量较多,且如若攻击成功一个网站可以获取到的信息和造成的破坏也是巨大的,所以许多黑客选择对网站进行研究和攻击,DVWA 就是一个存在漏洞且学习时常用的网站服务,所以在学习时我们选择使用DVWA 作为靶场环境
DVWA 是由OWASP 官方编写的PHP网站,是一个易攻击的Web的源码环境,常常被作为靶场环境使用
下载DVWA
DVWA 的下载我们可以到GitHub 中下载源码包
使用wget 命令进行源码下载压缩包
wget https://github.com/digininja/DVWA/archive/refs/heads/master.zip #下载DVWA 源码包
apt install -y unzip #下载解压zip包命令
unzip master.zip #解压DVWA 压缩包
将解压后的目录放置var/www/html (apache服务主目录)下并改名为DVWA
mv DVWA-master /var/www/html/DVWA
浏览器访问主目录下的DVWA 可以发现已经存在
配置DVWA
将配置文件备份并正常打开使用配置文件
┌──(root㉿kali)-[/var/www/html/DVWA/config]
└─$ ls
config.inc.php.dist
┌──(root㉿kali)-[/var/www/html/DVWA/config]
└─# cp config.inc.php.dist config.inc.php
┌──(root㉿kali)-[/var/www/html/DVWA/config]
└─# ls
config.inc.php config.inc.php.dist
创建数据库新用户
mysql #进入数据库
create user "hai" @"localhost" identified by "ke"; #创建数据库新用户
grant all privileges on *.* to 'hai'@'localhost'; #赋予新创建用户所有权限
# create user "新创建用户名" @ "localhost" identified by "新建用户密码" ; (创建数据库新用户)
# grant all privileges on *.* to '用户名'@'localhost(数据库地址)' ; (赋予新创建用户所有权限)
将配置文件config.inc.php 中登陆数据库的用户进行修改为新创建的数据库用户
修改前
修改后
访问DVWA目录下的setup.php 文件进行创建数据库
默认登陆用户为 admin,密码为 password
到此为止DVWA 搭建完成
Windows 搭建DVWA
以下为拓展内容,我也建议可以看看,大部分靶场还是直接搭建在Windows 上的
度娘对于PHPstudy是这样解释的
PHPstudy是一个PHP调试环境的程序集成包。支持 Web端管理,一键创建网站、FTP、数据库、SSL,安全管理,计划任务,文件管理,PHP多版本共存及切换(自带ANMP与LAMP)。
以我的话简单的概括就是,一键搭建完成了动态网站所需的基础环境
小皮面板(phpstudy) - 让天下没有难配的服务器环境! PHP study 官方网址
下载安装完成后是一个非常简便的界面,点击启动即可拥有一个正常的网站
DVWA的源码包可以自行在网上寻找,或尝试使用以下网站下载
tip:因为GitHub 服务器在国外所以很大概率可能访问不到
https://github.com/digininja/DVWA
解压完成后将解压包放置Windows 下的网站主目录
C:\phpstudy\PHPTutorial\WWW
修改dvwa 目录下config 目录下的config.inc.php.bak 文件进行备份和删除 .bak 后缀正常使用
使用记事本打开文件并修改用户名和密码为 root
正常访问setup.php 文件进行创建数据库
创建完成后默认账号密码同样是 admin password
到此Windows 成功搭建完成 DVWA