Burp Suite 的 主动扫描(Active Scanning) 和 被动扫描(Passive Scanning) 是两种核心的漏洞检测方式,它们在交互方式、检测深度、风险影响和适用场景上有显著区别。以下是详细对比:

1. 核心区别概述

维度 被动扫描(Passive Scanning) 主动扫描(Active Scanning)
交互方式 仅观察流量,不修改或发送新请求 主动构造恶意请求发送至目标
检测漏洞类型 依赖现有流量的表面漏洞(如信息泄露、配置错误) 深度漏洞(如SQL注入、XSS、逻辑漏洞)
风险性 零风险,不影响目标系统 可能触发目标防御机制或导致服务中断
速度 实时、快速 较慢(需逐个测试Payload)
自动化程度 完全自动(默认开启) 需手动配置或启动

2. 被动扫描(Passive Scanning)

工作原理
  • 仅分析经过Burp代理的流量(如HTTP请求/响应),不会主动发送任何额外数据。

  • 依赖Burp的代理、爬虫或手动浏览捕获的流量。

检测范围
  • 信息泄露:敏感数据(如密码、API密钥)暴露在响应中。

  • 不安全的配置:

    • 缺少安全头(如CSPHSTS)。

    • Cookie未设置Secure/HttpOnly

    • CORS配置错误(如Access-Control-Allow-Origin: *)。

  • 已知漏洞特征:如框架版本泄露(jQuery旧版本漏洞)。

优点
  • 无侵入性:适合生产环境或敏感系统。

  • 实时反馈:在浏览或爬取时即时标记问题。

缺点
  • 局限性:无法检测需要交互的漏洞(如输入验证漏洞)。

  • 依赖流量:未访问的路径或参数不会被检测。

3. 主动扫描(Active Scanning)

工作原理
  • 主动发送恶意Payload到目标参数(如URL、表单、Headers)。

  • 通过分析响应判断是否存在漏洞(如错误回显、延迟等)。

检测范围
  • 注入类漏洞:

    • SQL注入、OS命令注入、XXE。

    • XSS(反射型/存储型)、模板注入(SSTI)。

  • 逻辑漏洞:

    • 越权访问(IDOR)、业务逻辑缺陷。

    • 认证绕过(如弱密码、JWT篡改)。

  • 服务端漏洞:

    • 文件包含(LFI/RFI)、SSRF、反序列化。

优点
  • 深度检测:覆盖被动扫描无法发现的漏洞。

  • 自定义Payload:支持用户自定义测试规则。

缺点
  • 高风险性:

    • 可能触发WAF/IDS或导致服务崩溃(如大量测试请求)。

    • 对数据库或文件系统造成意外修改(如写入测试数据)。

  • 速度慢:复杂应用可能需要数小时。

4. 使用场景对比

场景 被动扫描 主动扫描
生产环境初步评估
授权渗透测试(深度检测)
快速识别低危漏洞(如配置错误)
检测需要交互的高危漏洞

5. Burp Suite中的操作示例

选择一个请求或者多个请求,鼠标右键就可以看到被动扫描和主动扫描的选项

6. 结合使用的最佳实践

  1. 先被动后主动:

    用被动扫描快速收集信息,再针对高风险区域主动扫描。
  2. 控制扫描范围:

    避免对生产环境关键接口主动扫描。
  3. 人工验证:

    主动扫描结果可能存在误报(如误判XSS),需用Repeater手动验证。

7. 注意事项

  • 法律合规:主动扫描需获得明确授权,避免法律风险。

  • 性能影响:主动扫描可能对目标服务器造成高负载。

  • 误报/漏报:需结合其他工具(如手动测试、动态爬虫)提高准确性。

总结

  • 被动扫描:适合快速、安全地识别表面漏洞,适用于初步评估或持续监控。

  • 主动扫描:用于深度测试,但需谨慎使用,避免对目标造成损害。
    两者互补:在实际渗透测试中,通常先被动扫描缩小范围,再主动扫描重点攻击面。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐