- 准备工作:确保你已经安装并配置好了 Burp Suite。
- 核心概念:理解 Burp Suite 扫描的基本流程。
- 详细扫描步骤:从零开始进行一次完整的网站扫描。
- 高级扫描选项:如何调整扫描器设置以获得更好的效果。
- 扫描结果分析:如何理解和处理扫描报告。
- 重要注意事项:关于合法性和扫描技巧的提醒。
准备工作
在开始之前,请确保你已经完成了以下步骤:

(图片来源网络,侵删)
- 安装 Burp Suite:下载并安装 Burp Suite Professional(付费版,功能最全)或 Community 版(功能有限,适合学习基本概念)。
- 配置浏览器代理:这是最关键的一步,你需要将你的浏览器(如 Chrome、Firefox)的网络流量通过 Burp Suite 进行代理。
- 在 Burp Suite 中设置监听:
- 打开 Burp Suite,进入
Proxy->Options标签页。 - 在
Proxy listeners部分,确保监听端口是8080(或你自定义的端口)。 - 点击
Edit,确保Bind to address设置为all interfaces,这样本地回环地址和其他地址都能访问。 - 勾选
Act as a transparent proxy for non-HTTP traffic。 - 点击
OK,然后点击Start按钮启动代理。
- 打开 Burp Suite,进入
- 在浏览器中配置代理:
- Chrome: 使用 SwitchyOmega 等代理插件,配置 HTTP 代理为
0.0.1,端口为8080。 - Firefox: 进入
设置->网络设置->设置...,选择“手动配置代理”,HTTP 代理填入0.0.1,端口为8080。
- Chrome: 使用 SwitchyOmega 等代理插件,配置 HTTP 代理为
- 在 Burp Suite 中设置监听:
- 安装 SSL 证书(可选,但推荐):为了能解密和分析 HTTPS 流量,你需要在浏览器中安装 Burp Suite 的 CA 证书。
- 在 Burp Suite 的
Proxy->HTTP history中,找到一个 HTTPS 请求。 - 右键点击该请求,选择
Proxy->Certificate options->Install Certificate in Browsers。 - 按照提示操作,将证书安装到你的浏览器根证书存储区。
- 在 Burp Suite 的
核心概念
理解 Burp Suite 的工作流程能让你更好地控制扫描:
- 抓取站点地图:扫描的第一步是让 Burp Suite 了解整个网站的结构,你需要通过浏览器正常浏览网站的所有页面、点击所有链接、提交所有表单,Burp Suite 的
Proxy会记录下所有这些请求,Target->Site map会根据这些请求生成一个网站的“地图”。 - 主动扫描:扫描器会根据站点地图,主动发送一些精心构造的请求来探测漏洞,它会尝试在搜索框中输入 SQL 注入载荷,或者在 URL 参数中尝试跨站脚本载荷。
- 被动扫描:在抓取站点地图的过程中,扫描器会被动地分析已经记录的请求和响应,寻找明显的漏洞迹象,这不会主动发送新的请求,因此对服务器影响较小。
详细扫描步骤
这里我们以最常见的场景为例:扫描一个登录后的需要认证的网站。
抓取和映射站点
- 确保你的浏览器代理已经指向 Burp Suite。
- 在浏览器中正常访问目标网站,从首页开始,浏览所有公开的页面,点击所有可见的链接、按钮和表单。
- 如果网站需要登录,请先完成登录。
- 登录后,继续浏览所有需要登录后才能访问的功能模块(例如个人中心、设置、发帖等)。
- 切换到 Burp Suite,打开
Target->Site map,你应该能看到一个树状结构,里面包含了你刚刚浏览过的所有 URL,树状结构会自动根据 URL 的相似性进行分组,这是扫描器工作的基础。
配置扫描范围
为了避免扫描到不相关的网站,必须设置扫描范围。
- 在
Site map中,右键点击你要扫描的整个域名(www.example.com)。 - 选择
Add to scope。 - 你也可以在
Scanner->Scan queue->Scope标签页中管理你的扫描范围。只勾选你希望扫描的目标。
启动扫描
- 在
Site map中,右键点击你想要扫描的 URL 组(例如整个www.example.com节点)。 - 选择
Engage scanner。 - 此时会弹出一个扫描配置窗口:
- Scan type:
- Active scanning: 主动扫描,功能最全,能发现更多漏洞,但可能对服务器造成较大负载,且可能触发 WAF/IPS 的告警。这是最常用的模式。
- Passive scanning: 被动扫描,只分析已有流量,非常安全,但发现的漏洞类型较少。
- Include advanced scan options: 勾选此项可以展开高级选项,我们将在下一节详细介绍,对于初学者,可以先保持默认。
- Scan type:
- 点击
Start scan。
监控扫描进度
扫描开始后,你会看到以下变化:

(图片来源网络,侵删)
- Scanner 标签页:这里是扫描的核心区域,你可以看到:
Scan queue: 显示正在等待和正在进行的扫描任务。Issues: 这里是最终发现的所有漏洞列表,扫描过程中,发现的问题会实时出现在这里。Scan details: 显示当前扫描任务的详细信息,包括正在扫描的 URL、进度和已发现的问题。
Target->Site map: 正在扫描的 URL 旁边会出现一个旋转的图标,表示扫描正在进行中。
扫描可能需要几分钟到几小时不等,具体取决于网站的大小和复杂程度。
高级扫描选项
勾选 Include advanced scan options 后,你可以对扫描进行精细控制,这对于提高扫描效率和准确性至关重要。
-
Scanner ->
Scan queue-> 右键点击正在进行的扫描 ->Scan details->Scanner options。 -
关键选项说明:
(图片来源网络,侵删)- Maximize scan coverage (推荐开启): Burp 会使用一些技术(如目录爆破、参数发现等)来扩大扫描范围,确保能找到更多的攻击面,开启它会发现更多潜在问题,但也会延长扫描时间。
- Maximize speed vs. reliability (平衡模式): 提供速度和可靠性之间的平衡,通常推荐使用这个默认选项。
- Retest issues: 如果你在两次扫描之间修复了某些漏洞,这个选项会让扫描器只重新测试之前标记为问题的地方,而不是全量扫描,可以节省大量时间。
- Filter out-of-scope items: 强制扫描器只扫描在范围内的项目,防止误扫描。
- Request-based scanning: 默认关闭,开启后,扫描器会基于你选择的单个请求进行扫描,而不是整个站点地图,这对于测试某个特定的表单或 API 端点非常有用。
- Match and replace: 可以自定义扫描时的请求头或参数,例如添加特定的 Cookie 来维持会话。
- Authentication Scanner: 如果网站有复杂的认证流程(如多因素认证、OAuth),可以在这里配置,让扫描器知道如何登录和保持会话状态。
扫描结果分析
扫描完成后,所有的漏洞都会出现在 Scanner -> Issues 标签页。
-
查看问题列表:
- 问题会按严重性分类:Critical (高危),
High (高危),Medium (中危),Low (低危),Information (信息),False positive (误报)。 - 点击某个问题,你可以看到:
- Issue details: 问题的详细描述、风险等级、技术背景和修复建议,这是最重要的部分。
- HTTP history: 导致此问题的原始 HTTP 请求和响应,你可以在这里复现漏洞。
- Evidence: 证明漏洞存在的证据片段(如响应中的错误信息)。
- Request: 可以直接点击
Request in browser在浏览器中打开这个请求,方便手动验证。
- 问题会按严重性分类:Critical (高危),
-
处理误报:
- 自动化扫描器有时会产生误报,如果你认为某个问题不是真正的漏洞,可以右键点击它,选择
Mark as false positive。
- 自动化扫描器有时会产生误报,如果你认为某个问题不是真正的漏洞,可以右键点击它,选择
-
导出报告:
- 在
Scanner->Issues标签页,点击Export按钮。 - 你可以导出为多种格式,如 HTML、PDF、XML 等,HTML 格式的报告最直观,方便向开发团队或管理层展示。
- 在
重要注意事项
- 合法性是第一原则:永远不要在未经书面授权的情况下扫描任何不属于你的网站。 未经授权的扫描是违法行为,扫描前务必获得目标网站所有者的许可。
- 对服务器的影响:主动扫描会给目标服务器带来额外的负载,在高峰期或对生产服务器进行扫描时,请务必告知相关负责人,并考虑使用被动扫描或降低扫描速度。
- WAF/IPS 干扰:很多网站都有 Web 应用防火墙,如果扫描时遇到大量 403 Forbidden 错误,可能是 WAF 拦截了你的扫描请求,此时可以尝试调整扫描速度、更换代理 IP,或者使用更高级的扫描选项来绕过简单的 WAF 规则。
- 手动验证是关键:自动化扫描器只是辅助工具,它可能会漏掉一些复杂的逻辑漏洞,也可能产生误报。所有发现的高危和中危问题,都必须通过手动方式进行验证和确认。
希望这份详细的指南能帮助你顺利上手 Burp Suite 的网站扫描功能!
