DVWA靶场是什么:概念介绍
一、DVWA靶场是什么:概念介绍
DVWA(Damn Vulnerable Web Application)是一个用 PHP + MySQL 写成的、故意保留大量安全漏洞的 Web 应用。它的定位不是「能用的网站」,而是「可以合法打的靶子」:把 SQL 注入、XSS、CSRF、文件包含、命令注入这些常见 Web 漏洞做成一个个独立模块,每个模块再分四个难度档(Low / Medium / High / Impossible),让学习者在同一个界面里对比「有漏洞的写法」和「修好的写法」。
它解决的核心问题是练习场缺失。真实系统不能拿来试手,网上公开的靶场又常常只有「打」没有「防」。DVWA 的价值在于同一道题的四种实现摆在一起,你能直接看到一处过滤、一次参数化查询、一个白名单校验如何把攻击面关掉。
与相邻方案的区别:OWASP Juice Shop 是现代化的 SPA 靶场,覆盖 OWASP Top 10 更全、更贴近真实业务,但用 Node + Angular 写,看源码改源码的门槛比 PHP 高;WebGoat 偏「课程 + 提示」,每关有引导,适合零基础跟学,但自由发挥空间小;bWAPP 漏洞数量多(上百个)但界面老旧、维护停滞;Vulhub 走的是「用 Docker 起真实漏洞组件」(如 Log4j、Fastjson),练的是真实 CVE 的利用链,不是代码级对比。DVWA 的不可替代之处就是四档难度的同题对照,PHP 源码短、看得懂、改得动。
| 术语 | 含义 |
|---|---|
| Security Level | 难度档位,存在 session 里,取值 low / medium / high / impossible |
| SQL Injection | 把用户输入当 SQL 语句拼接执行,导致数据被读出或篡改 |
| XSS | 跨站脚本,分反射型(Reflected)、存储型(Stored)、DOM 型三类 |
| CSRF | 跨站请求伪造,借用户已登录的会话发非本人意愿的请求 |
| File Inclusion | 文件包含,分本地包含 LFI 与远程包含 RFI |
| Command Injection | 命令注入,把输入拼进系统命令执行 |
| Impossible | 最高档,实现上是「修好的版本」,用于对照学习防御写法 |
| OWASP Top 10 | OWASP 发布的 Web 应用十大安全风险清单,DVWA 模块基本与之对应 |
红线前置:DVWA 是一个故意有漏洞的应用,只能部署在本地主机或内网隔离环境,绝对不要暴露到公网,也不要放在与生产系统同网段的位置。本教程里的所有 payload 都只用于本地靶场演示;对任何真实系统的测试,都必须事先取得资产所有方的书面授权,明确授权范围(域名/IP 段、测试时间窗、禁止 DoS、禁止触碰真实数据)。

