网络安全实战:用 Burp Suite 抓包改包,挖 1 个 XSS 漏洞
网络安全实战:用 Burp Suite 抓包改包,挖 1 个 XSS 漏洞
“听说 XSS 是 Web 安全高频漏洞,却不知道怎么手动找;用 Burp Suite 只会抓包,不会改包测试 ——” 这是很多转行 / 入门者挖 XSS 漏洞的初始困境。其实用 Burp Suite 挖基础 XSS 漏洞,核心就 3 步:“找注入点→抓包改参数→测 Payload”,全程不用复杂工具,1 小时就能完成,还能作为实战案例写进简历。
本文以免费开源的 DVWA 靶场为环境,用 Burp Suite 社区版(免费)实战挖掘反射型 XSS 漏洞,从 “环境搭建到漏洞验证” 每步带操作细节,新手跟着做就能出成果,避免 “看教程会,动手废” 的问题。
一、实战准备:零成本搭环境(10 分钟搞定)
1. 靶场选择:DVWA(易获取、漏洞明确)
-
核心优势:专门为 Web 安全学习设计,含 XSS、SQL 注入等基础漏洞,支持调整安全等级(新手从 Low 等级开始);
-
部署方式:用 PHPStudy 一键搭建(避免手动装 LAMP 环境的麻烦):
-
下载 PHPStudy(官网,免费),安装后启动 “Apache+MySQL” 服务;
-
下载 DVWA 源码(GitHub),解压到 PHPStudy 的WWW目录(如D:\phpstudy_pro\WWW\dvwa);
-
访问http://localhost/dvwa,点击 “Create / Reset Database”,输入默认账号admin、密码password登录;
-
进入 “DVWA Security”,将 “Security Level” 设为Low(关闭基础过滤,适合新手挖洞)。
2. 工具准备:Burp Suite 社区版(免费够用)
-
下载:官网注册后免费下载,无需破解;
-
核心功能:仅用 “Proxy(代理抓包)” 和 “Repeater(改包测试)”,社区版完全支持,不用专业版功能。
二、关键原理:XSS 漏洞与 Burp 抓包逻辑(5 分钟看懂)
1. 反射型 XSS 漏洞原理(新手易懂版)
-
核心逻辑:用户输入的内容(如 URL 参数、表单提交)未过滤,直接输出到页面,导致恶意脚本(如)被执行;
-
DVWA 场景:“XSS (Reflected)” 模块中,输入的 “Name” 参数会显示在页面上,若未过滤特殊字符,输入脚本就能弹窗。
2. Burp Suite 抓包改包逻辑
-
抓包:通过代理拦截浏览器与靶场的 HTTP 请求,查看参数传递方式(如 GET/POST);
-
改包:在 Burp 中修改请求参数值(如把 “Name=test” 改成 “Name=alert(1)”),发送请求后观察页面是否执行脚本 —— 这是挖掘 XSS 的核心操作。
三、实战步骤:用 Burp 挖 DVWA 反射型 XSS(30 分钟完成)
步骤 1:配置 Burp 代理与浏览器(抓包前提)
1.1 Burp 开启代理
-
打开 Burp Suite,默认进入 “Proxy” 模块,点击 “Intercept” 按钮,确保显示 “Intercept is on”(开启拦截);
-
查看 Burp 默认代理端口:点击 “Options”→“Proxy Listeners”,默认是127.0.0.1:8080(记下来,后续浏览器要用到)。
1.2 浏览器配置代理(以 Chrome 为例)
-
打开 Chrome,点击右上角 “三个点”→“设置”→“高级”→“系统”→“打开你的计算机的代理设置”;
-
选择 “手动设置代理”,“地址” 填127.0.0.1,“端口” 填8080,保存后关闭(此时浏览器所有请求会经过 Burp)。
避坑:抓不到包怎么办?
-
检查 Burp 代理是否开启(Intercept 按钮亮蓝);
-
关闭 Chrome 的代理扩展(如 SwitchyOmega),避免冲突;
-
若提示 “SSL 证书错误”(访问 HTTPS 时),新手可先测 HTTP(如 DVWA 是 HTTP),暂不处理证书。
步骤 2:找 XSS 注入点(定位可测试参数)
-
登录 DVWA,点击左侧 “XSS (Reflected)” 模块,进入反射型 XSS 测试页面;
-
在 “Name” 输入框随便填内容(如test),点击 “Submit” 按钮 —— 此时 Burp 会拦截到这个请求(页面卡住,因为请求被拦截)。
步骤 3:Burp 抓包分析请求结构
- 切换到 Burp 的 “Proxy→Intercept” 模块,能看到拦截的 GET 请求:
-
请求 URL:http://localhost/dvwa/vulnerabilities/xss_r/?name=test&Submit=Submit
-
关键参数:name=test(我们输入的内容,后续要改这个参数);
-
请求方法:GET(参数在 URL 中,改包时直接改 URL 里的name值即可)。
- 点击 Burp 的 “Forward” 按钮(放行请求),浏览器页面会显示 “Hello test”—— 证明name参数的输入会输出到页面,这就是 XSS 注入点。
步骤 4:Burp 改包测试 XSS Payload(核心操作)
4.1 测试基础 Payload(简单脚本)
-
回到 DVWA 的 “XSS (Reflected)” 页面,再次在 “Name” 输入test,点击 “Submit”——Burp 再次拦截请求;
-
在 Burp 的 “Intercept” 模块,找到 URL 中的name=test,把test改成基础 XSS Payload:;
- 改后 URL 片段:name=&Submit=Submit;
- 点击 “Forward” 放行请求,观察浏览器页面 —— 会弹出 “1” 的弹窗,证明 XSS 漏洞存在!
4.2 绕过简单过滤(进阶测试,Low 等级也适用)
若基础 Payload 不生效(如遇到简单过滤),可换用非
-
img标签 onerror 事件:
(改name参数为该值,会弹窗 2);
-
大小写混合:(应对区分大小写的过滤);
操作步骤同上:Burp 改name参数值→Forward→看弹窗,新手可依次测试这两个 Payload,感受不同脚本的执行效果。
步骤 5:用 Repeater 模块批量测试(提高效率)
若想快速测试多个 Payload,不用反复抓包,用 Burp 的 “Repeater” 模块:
-
在 “Intercept” 模块拦截请求后,右键点击 “Send to Repeater”,将请求发送到 Repeater;
-
切换到 “Repeater” 模块,在 “Request” 区域修改name参数值(如输入alert(4)的 Payload);
-
点击 “Send” 按钮,下方 “Response” 区域会显示服务器返回的页面内容,搜索alert(4),若能找到,说明脚本被输出到页面,浏览器访问会弹窗。
四、漏洞验证与报告:形成可展示的实战成果
1. 验证漏洞影响(证明漏洞真实存在)
- Cookie 窃取测试:用窃取 Cookie 的 Payload(仅在测试环境用!):
-
本地起一个简单 HTTP 服务(Python 命令:python -m http.server 8081);
-
Burp 改name参数为:;
-
Forward 请求后,查看 Python 服务终端,会显示获取到的 Cookie(如security=low; PHPSESSID=abc123)—— 证明 XSS 可窃取用户身份。
2. 写简易漏洞报告(简历可用)
按 “漏洞名称→影响范围→复现步骤→修复建议” 结构写,示例:
# DVWA反射型XSS漏洞报告
1. 漏洞名称:DVWA XSS (Reflected) 反射型XSS漏洞(Low等级)
2. 影响范围:http://localhost/dvwa/vulnerabilities/xss_r/
3. 复现步骤:
- 访问上述URL,在Name输入框输入`<script>alert(1)</script>`,点击Submit;
- 页面弹出“1”,漏洞验证成功;
4. 修复建议:
- 对用户输入的特殊字符(< > ' " /)进行转义;
- 前端用DOMPurify库过滤危险标签和事件。
五、避坑指南:新手最易踩的 3 个问题
1. 问题 1:Payload 不弹窗,页面显示脚本源码
-
原因:DVWA 安全等级不是 Low(如 Medium 等级会过滤
2. 问题 2:Burp 拦截不到请求,浏览器直接跳转
-
原因:浏览器代理未配置或配置错误;
-
解决:重新检查代理设置(地址 127.0.0.1,端口 8080),关闭 Chrome 代理扩展,重启 Burp。
3. 问题 3:测试 Cookie 窃取时,Python 服务没反应
-
原因:Payload 中的 IP 或端口错误(如把 127.0.0.1 写成 192.168.1.1);
-
解决:确认 Python 服务的 IP 是 127.0.0.1,端口是 8081,Payload 中的地址与之一致。
六、成果转化:转行 / 校招怎么用这个实战?
1. 简历写法(突出 “动手能力”)
✅ 正确写法:
“使用 Burp Suite 社区版,在 DVWA 靶场挖掘反射型 XSS 漏洞,通过‘抓包改包’测试 3 类 Payload(、、大小写混合),成功验证漏洞并实现 Cookie 窃取;撰写漏洞报告,提出‘字符转义 + 前端过滤’的修复方案,具备基础 Web 漏洞挖掘与验证能力。”
❌ 错误写法:
“会用 Burp Suite 挖 XSS 漏洞,懂基础 Payload。”
2. 面试演示(让成果更直观)
-
准备:本地启动 DVWA 和 Burp,提前配置好代理;
-
演示:现场操作 “抓包→改 Payload→弹窗”,边操作边说:“我先通过 Burp 拦截请求,找到 name 参数这个注入点,然后修改参数值为alert(1),发送后页面弹窗,证明 XSS 漏洞存在 —— 这个过程就是手动挖掘 XSS 的核心逻辑。”
最后:从 “挖靶场漏洞” 到 “挖真实漏洞” 的过渡
这个实战虽在靶场完成,但核心逻辑和挖真实漏洞一致:
-
找注入点(看哪些参数的输入会输出到页面);
-
用 Burp 改包测 Payload(从简单到复杂);
-
验证漏洞影响(如 Cookie 窃取、页面篡改)。
后续可尝试在 “补天”“漏洞盒子” 等平台的 “新手区” 挖掘真实低危 XSS 漏洞(如企业官网的评论区、搜索框),把靶场经验迁移到真实场景 —— 你的第一个实战成果,就是转行 Web 安全的起点。
网络安全学习资料分享
为了帮助大家更好的学习网络安全,我把我从一线互联网大厂薅来的网络安全教程及资料分享给大家,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,朋友们如果有需要这套网络安全教程+进阶学习资源包,可以扫码下方二维码限时免费领取(如遇扫码问题,可以在评论区留言领取哦)~


更多推荐
所有评论(0)