当前位置: 当前位置:首页 > 焦点 > dvwa搭建正文

dvwa搭建

作者:休闲 来源:综合 浏览: 【大 中 小】 发布时间:2026-10-17 06:19:50 评论数:

DVWA(Damn Vulnerable Web Application)是搭建我见过最老实的靶场——它把所有漏洞都摆在明面上,就差在代码旁边贴个标签:“来打我啊”。搭建搭建它不用花半小时,搭建但踩坑的搭建人能从入门排到精通。

先交代环境:我用的搭建Ubuntu 22.04,PHP 8.1,搭建MySQL 8.0。搭建DVWA最新版(1.9)对PHP 8.x有兼容性问题,搭建别急着装,搭建先改一个文件。搭建下载源码后,搭建把dvwa/config/config.inc.php.dist复制成config.inc.php,搭建打开它,搭建把$_DVWA[ 'db_password' ]改成你的搭建MySQL root密码。这一步十个人有八个会漏——然后卡在数据库连接界面一脸懵。搭建

真正麻烦的是PHP配置。DVWA默认设置会触发PHP 8.1的废弃警告,页面顶部全是黄条,看着就烦。进/etc/php/8.1/apache2/php.ini,把display_errors改成Off,再把allow_url_include改成On——这个不改,文件包含模块直接白给。改完重启Apache,sudo systemctl restart apache2,干净了。

然后访问http://localhost/dvwa,第一次会跳转到setup.php。我习惯先点下方的“Create/Reset Database”按钮,它会自动建库建表。如果你看到红字报错,别慌,八成是MySQL用户权限没给够。最简单的解法:在MySQL里手动建个用户,授权所有权限,再回到DVWA配置文件里填上这个用户的信息。用root也行,但后续做SQL注入实验时,root权限会让某些payload失效——你想想,注入目标是拿管理员权限,结果你本来就有,那还测个什么劲?

搭建完成后,默认登录名是admin,密码password。进去后先把安全级别调到low——这是DVWA的核心逻辑:同一个漏洞,低级别是裸奔代码,中级别加了点过滤,高级别基本能防住绝大多数脚本小子。我建议你从low开始,逐行读源码,理解漏洞成因,再去看medium和high的补丁差异。这个过程比任何网课都管用。

有个细节很多人提都不提:DVWA的dvwa目录默认在Apache的web根目录下,如果你用XAMPP或LAMP,路径没问题。但如果你非要放到子目录,比如/var/www/html/security/dvwa,那cookie路径会出问题——登录后跳转回首页,你又变成未登录状态。折腾一晚上,最后发现是路径问题,那种感觉我懂。解决办法是把整个DVWA目录挪到web根目录,别搞花活。

还有一个坑:PHP的file_uploads默认是开的,但上传目录dvwa/hackable/uploads/需要写权限。我吃过亏,上传webshell一直失败,看Apache错误日志才发现是权限不足。执行sudo chmod 755那个目录,顺便把external/phpids/0.6/lib/IDS/tmp/phpids_log.txt也加个写权限,否则日志模块会报错。

最后说点实在的。DVWA不是让你跑起来就算完事,它的价值在于配合Burp Suite或OWASP ZAP做手动测试。我见过有人把安全级别调到impossible,然后抱怨“这靶场怎么什么都测不出来”——废话,impossible级别是给你看代码用的,不是给你打靶用的。正确玩法是:low级别练手,medium级别练绕过,high级别练思路,impossible级别当参考答案。

搭建过程总共二十分钟,但真正学会用它,可能得花上几个月。别急着求快,把每个漏洞的源码读透,比刷一百个视频都强。