30 分钟从零跑起中文 Web 安全漏洞靶场:DVWA-Chinese 手把手实操指南
【免费下载链接】DVWA-ChineseDVWA全汉化版本项目地址: https://gitcode.com/gh_mirrors/dv/DVWA-Chinese
刷完几十篇 Web 安全入门文章、收藏了一堆"SQL 注入详解",真到打开工具时却不知道从哪下手——这是大多数安全新手的共同困境。与其继续对着一堆资料纸上谈兵,不如亲手搭一个 DVWA-Chinese 中文漏洞靶场:它把 SQL 注入、XSS、文件上传等十余种高频漏洞装进一个本地网页应用里,界面全中文、操作零门槛,让你在完全安全可控的环境里真正"打"一遍漏洞。
先弄明白:漏洞靶场到底是什么
你可以把靶场想象成一间带防护的练功房。普通网站是装修完好的成品房,一眼望去找不到破绽;而 DVWA 这套开源的 PHP + MySQL 应用,是开发者故意用糟糕的代码习惯"盖"出来的一间危房——每一道裂缝都对应一种真实存在过的安全缺陷。你在里面反复试探,练的是攻击手法;回到真实系统里再看到相似代码,练的就是防御眼力。
DVWA-Chinese 则是这间练功房的"全中文装修版"。菜单、提示、漏洞说明、帮助文档统统本地化,翻译者还专门强调过:不是机器翻译。对英文界面发怵的初学者来说,省下的不只是查词典的时间,更是宝贵的专注力。
四个难度等级:一部漏洞攻防进化史
每个漏洞模块都内置四档难度,从"完全裸奔"一路升到"铁桶防御":
- 低等级:代码不做任何过滤,专为理解漏洞原理而设
- 中等级:开发者尝试防护,却留下明显的绕过后门
- 高等级:防护手法更刁钻,体验接近各类 CTF 竞赛
- 不可能等级:所有漏洞都被堵死,堪称防御的标准答案
新手最容易犯的错是一上来就选最高难度,结果被防护打到怀疑人生。正确姿势是低→中→高逐级推进,最后再翻开"不可能"等级的源码,对照学习到底该怎么防御。
两条部署路线,总有一条适合你
路线一:Docker 一键启动(新手首选)
装好 Docker 后,一条命令即可拉起服务:
docker run --rm -it -p 80:80 vulnerables/web-dvwa浏览器访问http://localhost,进入setup.php点击"创建/重置数据库",完事。
路线二:传统方式部署(想摸清原理就选它)
克隆仓库到本地:
git clone https://gitcode.com/gh_mirrors/dv/DVWA-Chinese把项目放进 Web 服务器目录,复制config/config.inc.php.dist为config/config.inc.php并填好数据库账号密码,再访问setup.php初始化数据库即可。
新手最容易踩的 3 个坑:
- 数据库连不上——多半是配置文件里的账号密码和数据库实际不一致;新版 MySQL 报认证错误的话,换成 MariaDB 更省心。
- 文件上传模块提示"只读"——需要给
hackable/uploads/目录开放 Web 服务写权限。 - 把靶场丢上了公网——⚠️ 这条最要命。DVWA 浑身是洞,只适合在虚拟机或内网隔离环境运行,切勿接触任何面向互联网的服务器。
第一次实战:亲手拿下 SQL 注入
用默认账号admin/password登录,进入"SQL Injection"模块,把安全等级切到"低"。在用户 ID 输入框提交:
1' or '1'='1页面立刻把整张用户表吐了出来。这句看似咒语的内容,本质是把后台查询WHERE user_id = '1'改写成恒为真的条件——数据库的"保安"就这样被一句话术骗过了。
这时再点开"查看源码",读一遍low.php里不带任何过滤的字符串拼接,然后切到中等级,看看它的过滤规则是怎么被绕过的。四个等级源码对照着读,你对"为什么参数化查询才是标准答案"的理解,比看十篇理论文章都深刻。
通关 SQL 注入后,这张路线图接着练
- XSS 三兄弟:反射型、存储型、DOM 型三个模块,练的是"让浏览器执行我的脚本"。其中存储型 XSS 会把恶意代码永久写进数据库,危害面最大,值得重点琢磨。
- 文件上传:试着传一个伪装成图片的脚本,观察各等级的服务端校验如何被绕开,理解"白名单 + 内容检测 + 重命名"这套防御组合拳。
- 命令注入、CSRF、不安全的验证码、弱会话 ID:体量都不大,适合碎片时间逐个击破。
- 别忘了到
DVWA Security页面拨开 PHPIDS 开关,体验一把 WAF 拦击与绕过,这也是实战里常见的场景。
每个模块通关后都别急着走,固定做三件事:读该模块help/目录下的帮助文档、用"查看所有源码"横向对比四档实现、重点吃透"不可能"等级的防御写法。能打进去是本事,能讲清楚为什么打不进去,才算真正入门。
现在就动手吧——克隆仓库、初始化数据库,用你的第一句 SQL 注入换掉收藏夹里吃灰的教程。靶场的价值在于亲手验证,动手永远比收藏有用。
【免费下载链接】DVWA-ChineseDVWA全汉化版本项目地址: https://gitcode.com/gh_mirrors/dv/DVWA-Chinese
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考