Web 安全靶场怎么选?从 Pikachu 到 DVWA,一篇文章搞定全能实验环境部署

668 字
3 分钟
Web 安全靶场怎么选?从 Pikachu 到 DVWA,一篇文章搞定全能实验环境部署

靶场千万个,环境最劝退。

Docker 的意义就是:不折腾环境,把时间留给漏洞本身。

DVWA、Pikachu、upload-labs 几乎是所有 Web 安全学习者都会接触的“三板斧”,分别覆盖了:

  • DVWA:经典 OWASP 漏洞合集

  • Pikachu:偏教学、适合新手、漏洞点清晰

  • upload-labs:文件上传漏洞“专项训练营”

这篇文章带你 用 Docker 一次性部署三个靶场,做到:

  • 零污染宿主机

  • 一条命令启动

  • 随时销毁 / 重建


一、环境准备#

基础环境要求#

  • 操作系统:Linux / macOS / Windows(WSL2)

  • 已安装:

    • Docker ≥ 20.x

    • Docker Compose ≥ v2

验证是否安装成功:

docker -v
docker compose version

二、整体部署方案说明#

我们采用 docker-compose 统一管理三个靶场:

靶场端口说明
DVWA8081OWASP 漏洞合集
Pikachu8082教学友好
upload-labs8083文件上传专项

全部使用 官方 / 高星社区镜像,不手搓 Dockerfile,省事省心。


三、创建目录结构#

mkdir websec-labs
cd websec-labs

新建 docker-compose.yml:

nano docker-compose.yml

四、docker-compose.yml 配置#

完整示例#

version: "3.9"
services:
dvwa:
image: vulnerables/web-dvwa
container_name: dvwa
ports:
- "8081:80"
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
restart: unless-stopped
pikachu:
image: area39/pikachu
container_name: pikachu
ports:
- "8082:80"
restart: unless-stopped
uploadlabs:
image: c0ny1/upload-labs
container_name: upload-labs
ports:
- "8083:80"
restart: unless-stopped

五、一键启动靶场#

docker compose up -d

启动完成后检查状态:

docker ps

六、访问靶场 & 初始化#

DVWA#

访问地址:

http://localhost:8081

默认账号:

username: admin
password: password

首次进入后:

  1. 点击 Setup

  2. 点击 Create / Reset Database

  3. 回到登录页重新登录

不初始化数据库,DVWA 很多漏洞页面是不可用的。


Pikachu#

访问地址:

http://localhost:8082

特点:

  • 无需初始化

  • 页面结构非常清晰

  • 每个漏洞都有明确分类(SQLi / XSS / 文件包含等)

非常适合 刚入门 Web 安全 的人。


upload-labs#

访问地址:

http://localhost:8083

特点:

  • 专注文件上传漏洞

  • 从最弱校验 → 黑名单 → MIME → 二次渲染

  • 非常适合练 WebShell 上传思路


七、常见问题 & 排坑#

端口被占用怎么办?#

修改 docker-compose.yml 端口映射即可,例如:

- "18081:80"

容器起不来?#

查看日志:

docker logs dvwa
docker logs pikachu
docker logs upload-labs

如何重置环境?#

docker compose down -v
docker compose up -d

-v 会清空数据库和数据卷,非常适合反复练习。


八、进阶玩法(强烈推荐)#

内网靶场 + 浏览器代理#

  • Burp Suite

  • mitmproxy

  • FoxyProxy

配合 DVWA / Pikachu,效果直接拉满。


配合漏洞学习路线#

推荐顺序:

  1. Pikachu(理解漏洞原理)

  2. DVWA(系统化训练)

  3. upload-labs(专项突破)


安全提醒(重要)#

不要做这些事:

  • 不要公网暴露端口

  • 不要在生产服务器跑靶场

  • 不要弱口令复用真实密码

靶场 ≠ 演示环境 ≠ 生产环境。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Web 安全靶场怎么选?从 Pikachu 到 DVWA,一篇文章搞定全能实验环境部署
https://www.kshare.top/posts/web-安全靶场怎么选从-pikachu-到-dvwa一篇文章搞定全能实/
作者
Kshare
发布于
2026-02-10
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Kshare
Hello, I'm Kshare.
公告
欢迎来到Kshare站点!近期站点进行升级,欢迎访问和收藏站点!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
137
分类
12
标签
59
总字数
333,011
运行时长
0
最后活动
0 天前

文章目录