DVWA靶场搭建实战:从端口冲突到数据库连接的完整排错指南

张开发
2026/4/17 15:35:34 15 分钟阅读

分享文章

DVWA靶场搭建实战:从端口冲突到数据库连接的完整排错指南
1. DVWA靶场搭建前的准备工作DVWADamn Vulnerable Web Application是一个专门设计用于网络安全学习的PHP/MySQL Web应用。它故意保留了许多常见的安全漏洞让安全研究人员和开发者可以在合法环境中练习渗透测试技术。对于初学者来说搭建DVWA靶场是进入网络安全领域的重要第一步。在开始搭建之前你需要准备以下环境一台Windows电脑建议Win10及以上版本管理员权限账户稳定的网络连接至少2GB的可用磁盘空间我推荐使用phpstudy作为集成环境它包含了Apache、MySQL和PHP等必要组件可以省去单独安装配置的麻烦。最新版的phpstudy可以在其官网下载安装过程非常简单基本上就是一路下一步即可。不过要注意的是安装路径最好不要包含中文或特殊字符我一般习惯安装在C盘的根目录下。2. 解决服务启动失败的端口冲突问题2.1 识别被占用的端口安装完phpstudy后第一个常见问题就是Apache和MySQL服务无法启动。这种情况十有八九是因为端口被占用了。phpstudy默认使用80端口HTTP、443端口HTTPS和3306端口MySQL如果这些端口已经被其他程序占用服务自然就无法启动。要检查端口占用情况可以按照以下步骤操作按下WinR键输入cmd打开命令提示符右键选择以管理员身份运行输入命令netstat -ano | findstr 80\|443\|3306这个命令会列出所有使用这三个端口的进程及其PID进程ID。比如你可能会看到类似这样的输出TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1234 TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 5678 TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 90122.2 关闭占用端口的进程拿到PID后打开任务管理器CtrlShiftEsc切换到详细信息选项卡找到对应的PID。右键点击该进程选择结束任务。这里有个小技巧你可以点击PID列进行排序这样更容易找到特定的进程。常见占用这些端口的程序包括Skype80/443端口IIS80端口其他MySQL实例3306端口VMware443端口如果结束进程后服务还是无法启动可以尝试重启电脑有时候某些服务会在后台自动重启。实在不行的话也可以考虑修改phpstudy的默认端口不过这样后续访问DVWA时就需要带上端口号不太方便。3. 解决PHP源码直接显示的问题3.1 检查Apache服务状态当你成功启动服务后访问http://localhost/dvwa/setup.php时可能会遇到页面直接显示PHP源码而不是渲染后的HTML页面。这个问题我遇到过好几次主要原因有以下几种首先确认Apache服务确实在运行。打开phpstudy的控制面板查看Apache的状态指示灯是否为绿色。如果不是参考前面的方法解决端口冲突问题。3.2 配置Apache解析PHP文件如果服务正常运行但还是显示源码那很可能是Apache没有正确配置PHP解析。这时需要检查以下几点确保phpstudy安装目录下的Apache/conf/httpd.conf文件中有以下配置LoadModule php_module php/php7.3.4nts/php7apache2_4.dll AddHandler application/x-httpd-php .php PHPIniDir php/php7.3.4nts检查DirectoryIndex指令是否包含index.phpDirectoryIndex index.html index.php确认IfModule dir_module块中包含index.phpIfModule dir_module DirectoryIndex index.html index.htm index.php /IfModule修改完配置后一定要重启Apache服务使更改生效。如果还是不行可以尝试重新安装phpstudy有时候某些文件可能在安装过程中损坏了。4. 解决数据库连接问题4.1 修改php.ini配置在DVWA的安装过程中你可能会遇到一些红色错误提示最常见的是关于allow_url_include的设置问题。这个错误提示通常会告诉你需要修改php.ini文件。这里有个关键点不是修改DVWA目录下的php.ini而是修改phpstudy安装目录下的php.ini文件。具体路径通常是phpstudy/php/php版本号/php.ini。用文本编辑器打开这个文件搜索allow_url_include找到这一行allow_url_include Off把它改为allow_url_include On保存文件后记得重启Apache服务。4.2 配置数据库连接另一个常见问题是无法连接到MySQL数据库。这通常是由于config.inc.php文件中的数据库配置与phpstudy中的MySQL设置不匹配造成的。首先打开DVWA目录下的config/config.inc.php文件检查以下配置$_DVWA[db_server] 127.0.0.1; $_DVWA[db_database] dvwa; $_DVWA[db_user] root; $_DVWA[db_password] password;然后打开phpstudy的MySQL管理器确保MySQL服务正在运行root用户的密码与config文件中的一致存在名为dvwa的数据库如果没有可以手动创建如果使用的是新版phpstudy它可能会强制要求设置一个复杂密码。这时你有两个选择修改config.inc.php中的密码与phpstudy设置的一致在phpstudy中修改MySQL的root密码为config文件中指定的密码我个人的经验是最好使用phpstudy默认的root密码通常是root或空密码然后在config文件中使用相同的配置这样可以减少出错的可能性。5. 验证DVWA安装成功完成以上所有步骤后重新访问http://localhost/dvwa/setup.php这次你应该能看到DVWA的安装界面了。点击Create/Reset Database按钮如果一切正常你会看到Database created的成功提示。这时候访问http://localhost/dvwa/login.php使用默认用户名admin和密码password登录就能看到DVWA的主界面了。为了安全起见建议第一时间修改默认密码。在搭建过程中我最大的体会是一定要耐心。每个错误提示都包含了解决问题的线索仔细阅读错误信息理解背后的原理这样即使遇到新问题也能举一反三。另外不同版本的phpstudy和DVWA可能会有细微差别如果按照某个教程操作不成功不妨试试其他教程或者直接查看官方文档。

更多文章