当前位置:当前位置:首页 > 时尚 > kali搭建dvwa 正文

kali搭建dvwa

[时尚] 时间:2026-10-17 04:23:46 来源:力不从心网 作者:焦点 点击:40次

装好 Kali 之后,搭建很多人第一件事就是搭建找个靶场练手。DVWA 是搭建最经典的选择,没有之一。搭建它体积小、搭建漏洞全,搭建从 SQL 注入到文件上传,搭建该有的搭建都有。但每次重装系统或者换虚拟机,搭建总得重新搭一遍,搭建步骤不难,搭建坑却不少。搭建我把自己反复折腾的搭建经验记下来,省得下次再翻笔记。搭建

先确认 Kali 的搭建版本。2023 之后的滚动更新版默认带了 Apache 和 MySQL/MariaDB,但 PHP 不一定齐全。打开终端,先跑一遍:

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

这里有个细节,Kali 新版本里 MySQL 被 MariaDB 替代了,命令还是 mysql,但服务名是 mariadb。装完别急着下一步,先看服务状态:

sudo systemctl start apache2 sudo systemctl start mariadb sudo systemctl enable apache2 sudo systemctl enable mariadb

如果 systemctl status 显示绿色 active,说明没问题。有一次我偷懒没启用开机自启,重启后 Apache 没起来,浏览器一直转圈,排查了十分钟才想起来。

接下来给 MariaDB 做安全初始化。直接敲 sudo mysql_secure_installation,一路按提示走。root 密码设一个自己记得住的,比如 kali 或者 toor,反正是本地靶场。匿名用户、远程 root 登录这些都选 Y 禁用掉。这一步别跳过,否则 DVWA 连数据库时可能报 access denied。

然后进数据库建一个专用账户。DVWA 默认配置里写的是 root/root 或者 p@ssw0rd,但更稳妥的做法是自己建一个:

sudo mysql -u root -p CREATE DATABASE dvwa; CREATE USER 'dvwa'@'localhost' IDENTIFIED BY 'dvwa'; GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost'; FLUSH PRIVILEGES; exit;

数据库搞定,去拿 DVWA 源码。GitHub 上直接 clone 最省事:

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

如果 git 没装,sudo apt install git 补一下。下载完给权限:

sudo chown -R www-data:www-data /var/www/html/dvwa sudo chmod -R 755 /var/www/html/dvwa

权限这块容易出问题。有次我只改了目录权限没改文件,DVWA 安装页面提示 config 目录不可写,卡在第一步。后来发现是 chmod -R 没加,补上就好了。

配置文件在 config/ 目录下。复制一份模板:

cd /var/www/html/dvwa/config sudo cp config.inc.php.dist config.inc.php sudo nano config.inc.php

改这几个地方:数据库用户名 dvwa,密码 dvwa,数据库名 dvwa。还有一行 $_DVWA[ 'recaptcha_public_key' ] 之类的,不用管,留空就行。保存退出。

PHP 配置也要调一下。Kali 默认的 php.ini 可能把 allow_url_include 关了,DVWA 的文件包含漏洞模块会受影响。找到 /etc/php/8.2/apache2/php.ini(版本号可能不同),把 allow_url_include = Off 改成 On,allow_url_fopen 也确认是 On。改完重启 Apache:

sudo systemctl restart apache2

浏览器访问 http://127.0.0.1/dvwa,应该能看到登录页。默认账号 admin,密码 password。第一次进去会跳到 setup 页面,拉到最下面点 Create / Reset Database。如果一切正常,页面会刷新并提示数据库创建成功。

但现实往往不顺利。最常见的是红字报错 “Could not connect to the database”。八成是 config 里的密码和实际的不一致。回终端用 mysql -u dvwa -p 试一下能不能登进去,登不进去就是权限或密码问题。另一个坑是 PHP 模块没装全,比如 php-mysqli 漏了,DVWA 连数据库的函数直接报未定义。

还有个小概率事件:Apache 的 mod_rewrite 没开。虽然 DVWA 不强依赖,但某些页面跳转可能异常。执行 sudo a2enmod rewrite 然后重启,图个安心。

全部弄好之后,把安全级别调到 low,就可以开始玩了。DVWA 的界面很直白,左边选漏洞类型,右边点 View Source 能看源码,对理解漏洞原理帮助很大。我习惯每个模块先手工测一遍,再用 sqlmap 或者 burp 跑一遍,对比结果。

最后提醒一句:DVWA 只适合本地或隔离环境。别把它暴露在公网,哪怕改了密码也不行。这玩意本身就是个漏洞集合,谁扫到谁开心。

(责任编辑:综合)

相关内容
精彩推荐
热门点击
友情链接