网站搜索

在Kali Linux中安装Damn Vulnerable Web Application (DVWA)


如果你正在成为一个漏洞赏金猎人,或者你想了解网络应用程序的漏洞,你真的需要一个虚拟网站来进行练习。在你了解如何处理发现的漏洞之前,永远不要使用任何漏洞扫描器。当你对一个网站进行扫描时发现了潜在的SQL注入漏洞,但你不知道如何进行注入,这将毫无用处。虚拟网站应用程序允许你在安全的环境中进行练习、测试和利用漏洞。

我们将详细学习以下主题:

  • 在Kali Linux中安装和配置DVWA
  • Apache 2 网络服务器设置
  • PHP配置
  • MySQL 数据库设置

DVWA 一览

糟糕的脆弱网络应用程序(DVWA)是一个为渗透测试者构建的网络应用程序,以便在受控环境中测试和练习他们的攻击黑客技能。

在Kali Linux上安装DVWA

在Kali上安装DVWA其实很简单,实际上有几种可用的方法。首先,用户必须从DVWA的GitHub页面下载项目,并运行一些配置设置,例如数据库、网络服务器和PHP。其次,用户在安装Metasploitable时也可以获取一个预构建的DVWA包。第三,Kali Linux的仓库也提供DVWA包,可以使用apt-install命令进行安装。最后一种方法是最简单且不费力的方式来在Kali Linux上安装DVWA。

在本教程中,我们将学习如何在Kali Linux上手动构建或安装DVWA。目的是学习如何制作网站,并了解通常用来构建网站的技术。

先决条件

在我们的 Kali Linux 中安装 DVWA 之前,请确保我们已经更新了软件源列表,并使用以下命令安装了所有必需的软件包:

sudo apt update
sudo apt install -y apache2 mariadb-server mariadb-client php php-mysqli php-gd libapache2-mod-php

1. 下载DVWA GitHub项目

首先,我们需要在我们的 Kali Linux 中的 /var/www/html 目录下下载或克隆 DVWA GitHub 项目。只需使用 git clone 命令即可,但请确保使用 cd 命令将当前目录更改为 /var/www/html。

cd /var/www/html
sudo git clone https://github.com/digininja/DVWA

一旦你下载了项目,我们来看看里面有什么文件。

然后,为DVWA目录设置读取、写入和执行权限.

sudo chmod -R 777 DVWA/

此许可允许DVWA存储PHPids日志以及存储位于DVWA/hackable/uploads目录中的上传文件。

2. DVWA 配置文件

DVWA的配置设置的默认示例位于/config目录下。文件名为config.inc.php.dist。您可以找到诸如DBMS、数据库凭证、默认DVWA安全设置等配置。让我们来看一下下面的文件。

此文件是一个示例文件,DVWA将不会使用它。否则,我们将复制此文件并将其重命名(通过去掉末尾的.dist)为config.inc.php。

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

现在,使用任何文本编辑器打开复制的文件(config.inc.php),并更改数据库用户名和密码的默认设置。

例如,我们将把用户名更改为‘user’,密码更改为‘passweed’。

请注意上面的值。我们需要 db_server、db_database、db_user 和 db_password 的值用于下面的配置。

3. 配置数据库

首先,我们需要使用以下命令启动 MySQL 服务:

sudo service mysql start

然后,使用根用户登录 MySQL,系统会要求输入根密码:

sudo mysql -u root -p

让我们回顾一下在下面表格中将要使用的DVWA配置设置(在步骤2中)的数据库信息值。

db_server 127.0.0.1
db_database dvwa
db_user user
db_password passweed

根据以上信息,在我们位于‘127.0.0.1’的本地主机服务器上创建一个名为‘user’、密码为‘passweed’的数据库用户,使用以下命令:

create user 'user'@'127.0.0.1' identified by 'passweed';

如果配置正确,输出将是 “查询成功 ”。

最后一步是授予用户对'dvwa'数据库的所有权限。运行下面的命令。您需要再次提供用户名、密码和服务器信息。

grant all privileges on dvwa.* to 'user'@'127.0.0.1' identified by 'passweed';

4. 配置Apache2网页服务器

您在Kali Linux上的apache2安装文件存储在/etc/php目录下,其后是您的PHP版本。在本教程中,我们使用的是最新的PHP版本8.1。

现在,我们将对 PHP 函数 allow_url_include 进行更改以启用此功能。配置存储在 /apache2/php.ini 文件中。使用您喜欢的文本编辑器打开该文件。在这里,我使用的是 nano 文本编辑器。

sudo nano /etc/php/8.1/apache2/php.ini

向下滚动到Fopen wrappers部分,并通过将值设置为打开来确保这两个函数被启用,它们是allow_url_fopen和allow_url_include。

然后,通过按 Ctrl + O 和 Enter 来保存更改。按 Ctrl + X 退出 nano 编辑器。通过允许此功能,DVWA 使我们能够进行 XSS 远程文件包含 (RFI) 攻击。

5. 在浏览器中启动DVWA

一切配置完成后,通过运行以下命令重启apache2服务和MySQL服务:

sudo systemctl restart apache2.service
sudo service mysql restart

然后,打开一个浏览器,访问 http://localhost/DVWA/ 或 http://127.0.0.1/DVWA/。您将看到如下所示的 DVWA 欢迎页面。

最后一个配置仍然是必要的。我们之前创建了数据库用户凭据,但没有创建数据库。要创建一个,请访问DVWA页面,在左侧面板上点击‘设置/重置数据库’。

您将看到‘数据库设置’页面。现在,向下滚动到底部,找到一个名为‘创建/重置数据库’的按钮。

点击那个按钮。

设置已经完成。您的 DVWA 准备好被利用。您可以探索 DVWA 中每一个可用的漏洞页面,例如暴力破解、命令注入、CSRF 攻击、文件包含、文件上传、SQL 注入、XSS 攻击等等,如下图所示。

确保在运行测试之前选择适当的安全级别。默认情况下,安全级别设置为不可能,这是一种安全页面的说法。请从最低级别开始,以掌握基本概念。

结论

黑客攻击也是一项需要经验和大量进行渗透测试的实用技能。DVWA对于培训或教导他人如何在没有风险或控制环境下攻击web应用程序的漏洞非常有用。