在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-php1. 下载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应用程序的漏洞非常有用。
















