漏洞扫描(OWASP ZAP / Burp Suite / Nessus / Nmap)
「漏洞扫描」是安全体系里发现面的那一层:用四类主流工具从不同视角自动化探测系统中的已知弱点——OWASP ZAP(Web 应用层主动 / 被动扫描)、Burp Suite(Web 渗透测试代理,拦截 / Repeater / Intruder)、Nessus(主机与网络层漏洞扫描,含凭据扫描)、Nmap(端口扫描与服务指纹 / NSE 脚本)。本叶不展开具体漏洞的代码级修复(XSS / CSRF / SQLi 的防御见「攻击方式」「OWASP 防御」叶)、WAF / IDS 防护配置、逆向工程与二进制分析、移动端 / 小程序静态反编译、社会工程与物理安全、具体 SAST / SCA 工具命令(ESLint security / npm audit / Snyk CLI 见「代码扫描」叶)。扫描工具分工边界:ZAP / Burp 针对 Web 应用层(HTTP / HTTPS / WebSocket,OWASP Top 10 类),Nessus / Nmap 针对主机与网络层(端口、服务、补丁、配置);SAST 在编码期看源码、SCA 看依赖锁文件、DAST 在运行期探测,三者互补不可互替。漏洞扫描的核心理念是「主动发现 + 分层互补 + 受控执行」:被动扫描常驻(ZAP Baseline 跑 CI 每次提交),主动扫描按需(ZAP Full Scan 跑预发布环境),凭据扫描定期(Nessus 周扫),端口扫描周期性(Nmap 资产清点);OWASP ZAP 官方明确警告「You should NOT use it on web applications that you do not own」——主动扫描本质是攻击行为,只对自有 / 受控环境执行。
评价
优点(成熟工具生态的发现能力)
- OWASP ZAP 被动扫描零影响:仅观察经代理流量不发新请求,可高频跑 CI / PR 门禁,Baseline Scan 是 DAST 进入 DevSecOps 的低成本入口
- ZAP Automation Framework:YAML 驱动的现代方案,取代旧 Docker 脚本编排,可程序化定义 spider / activeScan / passiveScan 完整流程
- Burp Repeater 手工验证利器:单条 HTTP 请求可多标签并行重放,完整保留修改轨迹,是渗透测试人员验证漏洞存在性的主力
- Nessus 凭据扫描准确率高:SSH / SMB 登录目标拿本地视角,直接读补丁清单与配置基线(CIS / PCI / HIPAA),覆盖率远超无凭据的 banner 探测
- Nmap NSE 可扩展:脚本分类(vuln / brute / exploit / auth / safe)覆盖漏洞验证、口令爆破、协议枚举,是资产侦察的事实标准
- SAST + DAST + SCA 三层互补:白盒守自写代码、黑盒验运行时、依赖扫描管供应链,组合使用消减单一工具的系统性盲区
缺点(扫描工具的边界与陷阱)
- 主动扫描会发攻击流量:ZAP Full Scan / Nessus / Nmap -A 在生产或他人系统运行属违法且可能造成数据破坏,必须在隔离环境执行
- 扫描器存在误报:必须按 Risk × Confidence 分级处理,盲目全修成本高;高置信度高风险才优先修复
- 自动化扫描发现不了业务逻辑漏洞:OWASP ZAP 文档明确指出越权(broken access control)等逻辑漏洞必须人工渗透测试
- 无凭据扫描漏报严重:Nessus 无凭据只能看 banner(可能不准),漏掉补丁 / 配置 / 合规类本地漏洞
- Intruder Cluster Bomb 请求数爆炸:多 payload 集全组合(1000×1000=百万请求),既拖垮目标构成 DoS 又淹没有效结果
- 隐蔽扫描对 Windows / Cisco 误判:NULL / FIN / Xmas 不遵循 RFC 793 的系统会对所有端口回 RST,导致全部误判为 closed
文档地址
- OWASP ZAP 官方文档 — 主动扫描 / 被动扫描 / Scan Policy / Automation Framework / API Reference
- Burp Suite 官方文档 — Proxy Intercept / Repeater / Intruder / Release Notes
- Nmap Network Scanning — 端口扫描技术 / NSE 脚本目录 / 服务与 OS 识别
- Tenable Nessus 文档 — 扫描模板 / Credentialed Checks / 插件
- OWASP DevSecOps Guideline - DAST — DAST / SCA 官方定义
GitHub 地址
- zaproxy/zaproxy — OWASP ZAP 主仓库
- zaproxy/zap-extensions — ZAP 插件(含被动扫描规则)
- nmap/nmap — Nmap 源码(含 NSE 脚本库)
- PortSwigger — Burp Suite(闭源,官方站)
幻灯片地址
测试题
相关章节
- 攻击方式:XSS / CSRF / SQL 注入 / SSRF 的攻击机制——漏洞扫描发现的问题对应的根因
- OWASP Top 10 与前端防护:扫描器按 OWASP Top 10 类别产出告警,CSP / HTTP 头是修复方案
- 加密与数据保护:TLS 配置、密钥管理——扫描器会检出弱套件与缺失 HSTS
- 认证与会话管理:JWT 安全、Session 固定——Burp Proxy / Repeater 是手工验证的主力
参考
- OWASP ZAP:项目现由 Checkmarx 维护,2.x 系列持续更新;Automation Framework 为当前推荐方案;旧的 baseline / full / api scan Docker 脚本仍可用
- Burp Suite:2024+ 版本 Community 与 Professional 合并安装器,Community 版 Intruder 限速、Repeater 可用;Professional 含主动扫描、Burp Scanner、全部 Intruder
- Nessus:当前主版本 10.x,产品线 Nessus Essentials(免费 5 IP)/ Expert / Professional / Manager;插件用 NASL(Nessus Attack Scripting Language)编写并按 family 与 CVE 映射
- Nmap:稳定版 7.x 持续维护,NSE 脚本库持续扩充(含 vuln 类),文档 nmap.org/book 为权威
- SAST / DAST / SCA 为方法论分类(非版本化),OWASP DevSecOps Guideline 持续维护其定义
- 整体均为活跃维护工具,无废弃迹象