Kali 2023.1 实战:一站式部署DVWA渗透测试靶场
1. 环境准备与基础配置在开始部署DVWA之前我们需要确保Kali 2023.1系统已经正确安装并完成基础配置。我建议使用VMware Workstation Pro作为虚拟机平台因为它对Kali Linux的兼容性最好。下载Kali镜像时推荐选择官方提供的VMware专用镜像这种镜像已经预装了VMware Tools省去了后续安装的麻烦。登录系统后第一件事就是切换软件源。国内用户使用默认源下载速度会很慢这里我实测阿里云的镜像源速度最快。打开终端输入以下命令备份原有源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak然后用vim编辑源文件sudo vim /etc/apt/sources.list删除原有内容替换为阿里云镜像源deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib保存退出后执行更新命令sudo apt update sudo apt upgrade -y这个步骤大概需要10-20分钟取决于你的网络速度。我遇到过几次因为网络问题导致更新失败的情况这时候可以尝试更换其他国内源比如清华源或者中科大源。2. 安装必要服务组件DVWA需要Apache、MySQL和PHP的支持这三个组件被称为LAMP环境。在Kali 2023.1中这些组件都可以通过apt直接安装。先安装Apachesudo apt install apache2 -y安装完成后可以通过以下命令检查Apache是否正常运行sudo systemctl status apache2如果看到active (running)字样说明服务已经启动。这时候在浏览器输入localhost应该能看到Apache的默认页面。接下来安装MySQL。Kali 2023.1默认使用MariaDB作为MySQL的替代sudo apt install mariadb-server -y安装完成后需要运行安全脚本sudo mysql_secure_installation这个脚本会提示你设置root密码、移除匿名用户等安全选项。我建议全部选择Y来加强安全性。最后安装PHP及其相关模块sudo apt install php libapache2-mod-php php-mysql php-gd php-curl -y这里特别注意要安装php-gd模块否则后续DVWA的验证码功能会报错。我曾经因为这个遗漏浪费了半天时间排查问题。3. 部署DVWA靶场现在可以开始部署DVWA了。首先使用git克隆项目仓库git clone https://github.com/digininja/DVWA克隆完成后将DVWA移动到Apache的网站根目录sudo mv DVWA /var/www/html/然后设置正确的权限sudo chmod -R 777 /var/www/html/DVWA这个权限设置比较宽松在实际生产环境中需要更严格的权限控制但作为学习环境这样可以避免很多权限问题。接下来配置DVWA的数据库连接。进入配置目录cd /var/www/html/DVWA/config/复制默认配置文件cp config.inc.php.dist config.inc.php然后用vim编辑配置文件vim config.inc.php找到数据库配置部分修改为以下内容$_DVWA[db_user] dvwa; $_DVWA[db_password] pssw0rd; $_DVWA[db_database] dvwa;这些值可以自定义但要记住后面创建数据库时需要保持一致。4. 数据库初始化与服务配置现在我们需要创建DVWA使用的数据库和用户。首先登录MySQLsudo mysql -u root -p输入之前设置的root密码后执行以下SQL语句CREATE DATABASE dvwa; CREATE USER dvwalocalhost IDENTIFIED BY pssw0rd; GRANT ALL PRIVILEGES ON dvwa.* TO dvwalocalhost; FLUSH PRIVILEGES; exit;注意这里的用户名和密码必须与config.inc.php中的配置一致。接下来修改PHP配置允许URL包含sudo vim /etc/php/8.2/apache2/php.ini找到allow_url_include选项将其值改为Onallow_url_include On保存退出后重启Apache服务使配置生效sudo systemctl restart apache25. 完成安装与常见问题解决现在可以在浏览器中访问DVWA了。打开浏览器输入http://localhost/DVWA/setup.php如果一切正常你会看到DVWA的安装页面。点击页面底部的Create/Reset Database按钮初始化数据库。常见问题1如果页面提示PHP模块缺失比如gd模块可以这样安装sudo apt install php-gd -y sudo systemctl restart apache2常见问题2关于reCAPTCHA key缺失的警告。DVWA的部分功能需要Google reCAPTCHA密钥。你可以选择访问Google reCAPTCHA官网申请自己的密钥使用公开的测试密钥安全性较低如果使用测试密钥修改config.inc.php文件$_DVWA[recaptcha_public_key] 6LdK7xITAAzzAAJQTfL7fu6I-0aPl8KHHieAT_yJg; $_DVWA[recaptcha_private_key] 6LdK7xITAAzzAAL_uw9YXVUOPoIHPZLfw2K1n5NV;常见问题3如果遇到数据库连接错误检查以下几点MySQL服务是否运行sudo systemctl status mysql数据库用户名密码是否正确config.inc.php中的配置是否与创建数据库时一致最后在DVWA Security页面可以选择安全级别从低到高共有四个级别。建议初学者从Low开始逐步提高难度。