Skip to content

入门

基于 OWASP ZAP 官方文档(zaproxy.org/docs)+ PortSwigger Burp Suite 文档(portswigger.net/burp/documentation)+ Nmap Network Scanning(nmap.org/book)+ Tenable Nessus 文档(docs.tenable.com/Nessus.htm)+ OWASP DevSecOps Guideline 编写,对照 ZAP 2.x / Burp 2024+ / Nessus 10.x / Nmap 7.x

速查

  • 四大工具分工:ZAP / Burp 看 Web 应用层(HTTP / WebSocket,OWASP Top 10 类);Nessus / Nmap 看 主机与网络层(端口 / 服务 / 补丁 / 配置)
  • ZAP 主动 vs 被动:主动扫描会发新请求与攻击载荷(破坏性,仅自有环境);被动扫描只观察经代理流量不发新请求(零影响,可高频跑 CI)
  • ZAP 官方警告:「You should NOT use it on web applications that you do not own」——主动扫描本质是攻击行为
  • ZAP Docker 三模式:Baseline(spider + 被动,无攻击载荷,CI/PR 门禁)/ Full(含主动攻击)/ API Scan(按 OpenAPI/SOAP/GraphQL 定义);Automation Framework(YAML 驱动)是现代推荐方案
  • ZAP 被动扫描热门 Alert ID:X-Frame-Options=10020、X-Content-Type-Options=10021、HSTS=10035、CSP 缺失=10038、CSP 分析=10055、Cookie HttpOnly=10010、Cookie Secure=10011、Cookie SameSite=10054、混合内容=10040、CORS=10098
  • Burp Intruder 四攻击类型:Sniper(1 集,轮流)/ Battering Ram(1 集,同值)/ Pitchfork(≤20 集,并行)/ Cluster Bomb(≤20 集,全组合);Community 限速、Pro 全功能
  • Burp Repeater:手动重放与修改单条 HTTP 请求,Community 与 Professional 均可用,是渗透验证主力
  • Nmap 默认 -sS:SYN 半开扫描(需 root,快且隐蔽,多数系统不记录);无 root 退到 -sT(全连接,被日志记录)
  • Nmap 五端口状态:open / closed / filtered(防火墙阻断)/ unfiltered(ACK 无法定开/关)/ open|filtered(无法区分)
  • Nessus 凭据扫描:通过 SSH(密码 / 密钥)或 Windows SMB(本地管理员)拿本地视角;plugin 21745 检测凭据失败;Windows 需本地管理员才能做 direct file analysis
  • SAST/DAST/SCA 分工:SAST 白盒看源码(编码期,找自写代码缺陷);DAST 黑盒测运行时(注入载荷,找认证 / 注入 / 配置);SCA 扫依赖(识别已知 CVE 与许可证)
  • 核心反模式:对生产或非自有系统跑主动扫描 / Cluster Bomb 当默认 / 无凭据扫描声称覆盖完整 / 期望主动扫描发现业务逻辑漏洞 / 只跑 SAST 不跑 SCA

这篇叶定位

「漏洞扫描」是主动发现已知弱点的工具体系,与「攻击方式」(讲攻击机制)和「OWASP 防御」(讲修复)形成三角:

  • 四大工具:OWASP ZAP(Web 应用扫描)/ Burp Suite(Web 渗透代理)/ Nessus(主机漏洞扫描)/ Nmap(端口与服务侦察)
  • 三类方法论:SAST(白盒看源码)/ DAST(黑盒测运行时)/ SCA(依赖扫描)
  • 不展开:漏洞代码级修复(XSS / CSRF / SQLi 防御)、WAF / IDS 配置、移动端反编译、社会工程

漏洞扫描 ≠ 全部安全。它只发现已知模式的弱点——业务逻辑漏洞(如越权)、零日漏洞、设计级缺陷必须靠威胁建模与人工渗透测试补充。

四大工具速览

OWASP ZAP(Web 应用扫描)

OWASP 基金会主导、现由 Checkmarx 维护的 Web 应用安全扫描器,完全开源免费。

  • 本地代理模式:浏览器流量 → ZAP 代理 → 目标站点,ZAP 在中间观察与修改
  • 主动扫描(Active Scan):发实际攻击载荷(XSS / SQLi 测试向量),由 Scan Policy 决定运行哪些规则
  • 被动扫描(Passive Scan):只观察经代理流量,不发新请求,零影响可常驻
  • Docker 扫描:Baseline(被动 + spider 1 分钟)/ Full(含主动)/ API Scan(OpenAPI / SOAP / GraphQL)
  • Automation Framework:YAML 驱动的现代编排,官方推荐取代旧 Docker 脚本

Burp Suite(Web 渗透测试代理)

PortSwigger 公司的 Web 渗透测试代理,是渗透测试人员的「瑞士军刀」。

  • Proxy Intercept:浏览器 → Burp Proxy → 服务器;Intercept on 暂停、off 自动放行;Forward / Drop 控制每条请求
  • Repeater:手动重放与修改单条 HTTP 请求,多标签并行,完整保留修改轨迹
  • Intruder:四种攻击类型的批量请求工具(Sniper / Battering Ram / Pitchfork / Cluster Bomb)
  • 版本差异:Community 免费(Intruder 限速、Repeater 可用);Professional 付费(含主动扫描、Burp Scanner、全部 Intruder)
  • HTTPS 解密:需安装 Burp CA 证书到浏览器 / 系统

Nessus(主机与网络漏洞扫描)

Tenable 公司的主机漏洞扫描器,主要从外部或凭据视角评估系统补丁 / 配置 / 合规。

  • 扫描模板:Basic Network Scan / Host Discovery / Web Application / Malware / Advanced Scan 等
  • 凭据扫描(Credentialed Checks):通过 SSH(密码 / 密钥)或 Windows SMB(本地管理员)登录目标读取本地视角
  • 无凭据扫描:仅依赖服务 banner 推断,Tenable 官方明确「may be inconclusive or incorrect」
  • 插件体系:用 NASL(Nessus Attack Scripting Language)编写,按 family 分组,映射 CVE
  • 产品线:Nessus Essentials(免费 5 IP)/ Expert / Professional / Manager

Nmap(端口扫描与服务指纹)

开源的端口扫描与网络发现工具,是资产侦察与漏洞验证的事实标准。

  • 端口扫描标志:-sS(SYN,默认首选)/ -sT(全连接)/ -sU(UDP)/ -sN/-sF/-sX(NULL/FIN/Xmas 隐蔽)/ -sA(ACK,映射防火墙)
  • 端口状态:open / closed / filtered / unfiltered / open|filtered
  • 服务与 OS 识别:-sV(服务版本)/ -O(OS 指纹)/ -A(激进,等价 -sV -O --script + traceroute)
  • NSE(Nmap Scripting Engine):--script 调用脚本,分类 default / safe / vuln / brute / exploit / auth / broadcast / version

DAST vs SAST vs SCA

OWASP DevSecOps Guideline 对三类测试的官方定义:

维度SAST(白盒)DAST(黑盒)SCA(依赖扫描)
测试对象源码 / 字节码 / 二进制运行中的应用第三方 / 开源依赖
访问需求白盒(需源码)黑盒(只需 URL / 入口)锁文件(package-lock.json)
SDLC 阶段编码期(IDE / pre-commit)测试 / 预发布期提交期(CI)
能发现自写代码缺陷(SQL 拼接 / 硬编码密钥 / 危险 API)运行时漏洞(认证绕过 / 注入 / 配置错误)已知 CVE / 许可证冲突
看不到运行时配置、依赖 CVE源码级缺陷、依赖 CVE业务逻辑漏洞
代表工具ESLint security / SonarQubeOWASP ZAP / Burp / Nessusnpm audit / Snyk / Dependabot

核心理念:三者互补不可互替。SAST 守自写代码、DAST 验运行时、SCA 管依赖;只用一种会有系统性盲区。前端项目最高频踩的是 SCA 漏配——node_modules 嵌套深,已知 CVE 多集中在依赖里,漏配 SCA 等于放任供应链风险。

前端工程师的扫描工具组合

前端工程师重点掌握的三个工具:

  1. ZAP 被动扫描:本地开发时浏览器走 ZAP 代理,能持续发现 HTTP 安全头缺失、Cookie 标志缺失、混合内容、CORS 配置错误
  2. SCA(npm audit / Snyk / Dependabot):纳入 package-lock.json 提交后自动跑,是性价比最高的前端安全投入
  3. Burp Proxy / Repeater:手工验证可疑请求(如鉴权边界、参数注入点)

Nmap / Nessus 多由运维 / 安全团队主导,前端只需理解其输出与边界。

下一步

  • 核心工具详解:OWASP ZAP(主动 / 被动 / 代理 / Automation Framework)+ Burp Suite(Proxy / Repeater / Intruder 四类型)+ Nessus(凭据 / 模板)+ Nmap(标志 / 状态 / NSE)+ 前端 SAST / SCA + 反模式
  • 参考:四大工具对比表、ZAP 被动规则 Alert ID 表、Burp Intruder 攻击类型公式表、Nmap 端口状态与扫描标志对照表、官方资源链接