最近在上网络安全课程的时候,我接触到了一个非常经典、也非常"上头"的漏洞靶场------bWAPP。
在真正动手之前,我对"漏洞"这件事的理解还停留在课本层面: 什么 SQL 注入、XSS、CSRF,看起来都挺熟,但一到实际操作就一脸懵。
直到我开始用 bWAPP。
它让我第一次真正"摸到"漏洞。
这篇文章,我会从一个在校大三学生的视角,带你完整了解:
- bWAPP 是什么
- 为什么它适合入门
- 我是如何在自己电脑上搭建的
- 如何开始你的第一次漏洞练习
整篇内容尽量讲清楚、讲实用,适合刚入门网络安全的同学。
一、bWAPP 是什么?为什么它这么适合新手?
bWAPP(Buggy Web Application),顾名思义,就是一个"故意写满漏洞的网站"。
它的核心作用只有一个:
让你练漏洞。
1. 它到底能干嘛?
bWAPP 内置了 100+ 常见 Web 漏洞场景,包括:
- SQL 注入(SQL Injection)
- XSS(跨站脚本攻击)
- 文件上传漏洞
- 命令执行
- CSRF
- XXE(XML 外部实体注入)
- SSRF
- Open Redirect
也就是说:
你在课上学到的那些"攻击方式", 在这里基本都能亲手操作一遍。
2. 它最大的优点:分级难度
bWAPP 很贴心的一点是:
它提供了三种安全等级:
- low(低)
- medium(中)
- high(高)
这意味着什么?
同一个漏洞,你可以:
- 在 low 模式下理解原理
- 在 medium 模式下尝试绕过
- 在 high 模式下挑战真实防护
这比单纯看书强太多了。
3. 为什么老师都爱用它?
一句话总结:
因为它"刚刚好"。
- 不像真实网站那么复杂
- 也不像教学案例那么简单
- 每个漏洞都"可控 + 可复现"
对于初学者来说,它就是:
从"看懂漏洞"到"会打漏洞"的桥梁
二、为什么推荐用虚拟机版本?
我一开始也想直接本地搭建(Apache + PHP + MySQL), 但很快发现一个问题:
很多漏洞根本跑不起来。
比如:
- 心脏滴血漏洞(Heartbleed)
- Shellshock(破壳漏洞)
这些漏洞依赖特定环境,本地搭建很难复现。
所以更推荐:bee-box 虚拟机版本
bee-box 是官方提供的一个"开箱即用"的环境,里面已经:
- 配好了 Web 服务
- 配好了数据库
- 集成了 bWAPP
- 配好了漏洞环境
你只需要:
下载 → 导入 → 启动 → 开始练
非常适合新手。
三、手把手教你搭建 bWAPP(虚拟机版)
下面是我自己实际走过的一套流程,基本零踩坑。
(1)下载 bee-box
下载地址:
https://sourceforge.net/projects/bwapp/files/bee-box/bee-box_v1.6.7z/download
下载完成后:
- 解压压缩包
- 你会看到一个 bee-box 文件夹
(2)导入虚拟机
打开 VMware,按照以下步骤操作:
-
点击「打开虚拟机」
-
进入刚刚解压的目录
-
选择文件:
bee-box.vmx
-
打开
(3)网络配置(非常关键)
建议设置为:
NAT 模式
原因:
- 可以直接访问外网
- 宿主机可以访问虚拟机
- 不需要复杂配置
(4)启动虚拟机
点击"开启此虚拟机",稍等一会,你会看到一个类似 Linux 的界面。
说明已经启动成功。
四、如何使用 bWAPP(两种方式)
接下来就是最关键的一步:
如何访问这个靶场?
方法一:在虚拟机内部访问
操作步骤:
-
打开虚拟机桌面
-
找到:
bWAPP-Install
-
点击运行
登录信息:
用户名:bee
密码:bug
登录成功后,你会看到主界面。
在右上角可以选择漏洞类型,比如:
- XXE
- SQL Injection
- XSS
方法二:在自己电脑浏览器访问(推荐)
这个方式更方便,也更接近真实环境。
第一步:查看虚拟机 IP
在虚拟机终端输入:
ifconfig
找到类似:
192.168.xxx.xxx
第二步:在宿主机访问
打开浏览器,输入:
http://虚拟机IP/bWAPP/login.php
例如:
http://192.168.1.100:8080/bWAPP/login.php
登录同样使用:
bee / bug
为什么更推荐这种方式?
因为你可以:
- 使用 Burp Suite 抓包
- 用浏览器插件辅助测试
- 模拟真实攻击环境
五、第一次漏洞实战:以 XXE 为例
登录成功后,我们可以做一件事:
选一个漏洞,直接开干。
示例:XXE(XML 外部实体注入)
操作路径:
右上角 → 选择漏洞 → 找到:
XML External Entity (XXE)
然后选择安全等级:
- 先选 low
你会看到一个 XML 输入框。
这时候你可以尝试构造:
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<data>&xxe;</data>
如果成功,你可能会看到服务器文件内容。
这时候你会突然意识到一件事:
原来漏洞真的可以"读服务器文件"。
这就是实战的冲击感。
六、我在使用 bWAPP 时的几点真实感受
说点比较真实的体验,而不是"教材式总结"。
1. 看懂 ≠ 会做
以前:
- 知道 SQL 注入是啥
- 知道 XSS 原理
现在:
- 知道 payload 怎么写
- 知道哪里能打进去
- 知道为什么失败
2. 调试过程才是核心
很多时候你会发现:
- payload 不生效
- 页面没反应
- 被过滤了
这时候你开始:
- 改参数
- 换编码
- 尝试绕过
这才是安全学习的精髓。
3. 成就感非常强
当你第一次成功:
- 注入成功
- 弹出 alert
- 读到服务器文件
那种感觉,比 AC 一道算法题还爽。
七、写在最后:给初学者的建议
如果你刚开始学网络安全,我的建议是:
1. 一定要动手
光看视频、看文章是没用的。
必须自己打。
2. 从 low 难度开始
不要一上来就挑战 high。
顺序应该是:
low → medium → high
3. 结合工具学习
推荐搭配:
- Burp Suite
- 浏览器开发者工具
4. 不要急着"炫技"
先搞清楚:
- 为什么能打
- 漏洞本质是什么
比跑通更重要。
结语
bWAPP 这个靶场,对我来说意义很简单:
它让我第一次真正理解"漏洞是怎么被利用的"。
如果你现在:
- 正在学网络安全
- 对渗透测试感兴趣
- 想从理论走向实践
那我真的建议你:
今天就把它装起来,跑一遍。
你会发现------
网络安全,不再是抽象的概念,而是一门可以"玩"的技术。