Skip to content

参考

基于 OWASP ZAP 官方文档 + PortSwigger Burp Suite 文档 + Nmap Network Scanning + Tenable Nessus 文档 + OWASP DevSecOps Guideline 编写,对照 ZAP 2.x / Burp 2024+ / Nessus 10.x / Nmap 7.x

速查

  • 四大工具分工:ZAP / Burp 看 Web 应用层;Nessus / Nmap 看主机与网络层
  • ZAP 主动 vs 被动:主动发新请求 + 攻击载荷(破坏性);被动只观察不发新请求(零影响)
  • ZAP CI/CD 三 Docker 模式:Baseline(spider + 被动)/ Full(含主动)/ API Scan(OpenAPI/SOAP/GraphQL);Automation Framework(YAML)是现代推荐
  • Burp Intruder 四类型请求数公式:Sniper=位×payload / Battering Ram=payload / Pitchfork=最小集 / Cluster Bomb=乘积
  • Burp 版本差异:Repeater 两版均可用;Intruder Community 限速 / Pro 全功能;主动扫描仅 Professional
  • Nmap 默认 -sS:半开扫描需 root 快且隐蔽;无 root 退到 -sT
  • Nmap 五端口状态:open / closed / filtered / unfiltered / open|filtered
  • Nessus 凭据 vs 无凭据:无凭据看 banner 不准,凭据看本地补丁 / 配置 / 合规
  • Nessus plugin 21745:检测凭据失败;凭据失败会静默退化为无凭据
  • SAST/DAST/SCA 分工:SAST 白盒看源码 / DAST 黑盒测运行时 / SCA 扫依赖
  • 核心反模式:对生产跑主动扫描、Cluster Bomb 当默认、无凭据声称完整、NULL/FIN/Xmas 扫 Windows、前端只配 SAST 不配 SCA
  • 完整说明见 入门 / 核心工具详解

四大工具对比表

维度OWASP ZAPBurp SuiteNessusNmap
定位Web 应用扫描Web 渗透代理主机漏洞扫描端口与服务侦察
目标层Web 应用层Web 应用层主机与网络层主机与网络层
协议HTTP / WebSocketHTTP / WebSocketTCP / SSH / SMBTCP / UDP / ICMP
典型漏洞OWASP Top 10 类OWASP Top 10 类(手工验证)补丁 / 配置 / 合规端口暴露 / 服务指纹
价格完全开源免费Community 免费 / Pro 付费Essentials 免费 5 IP / Pro 付费开源免费
维护方Checkmarx(OWASP 主导)PortSwiggerTenablenmap.org 项目
是否发攻击流量主动扫描发 / 被动不发Intruder / Scanner 发默认发探测(凭据只读不发攻击)发探测包
前端工程师重点被动扫描(HTTP 安全头 / Cookie)Proxy / Repeater 手工验证由运维主导由运维主导

前端工程师重点掌握:ZAP 被动扫描(HTTP 安全头 / Cookie)+ SCA(依赖 CVE)+ Burp Proxy / Repeater 手工验证;Nmap / Nessus 多由运维 / 安全团队主导。

OWASP ZAP 被动扫描规则 Alert ID 表

Alert ID检查项类别
10010Cookie HttpOnly 缺失Cookie 安全
10011Cookie Secure 缺失Cookie 安全
10054Cookie SameSite 缺失Cookie 安全
90033Cookie 松散作用域Cookie 安全
10020X-Frame-Options 缺失(防 clickjacking)HTTP 安全头
10021X-Content-Type-Options 缺失(防 MIME 嗅探)HTTP 安全头
10035HSTS 缺失(防 SSL Strip)HTTP 安全头
10038CSP 缺失HTTP 安全头
10055CSP 分析(规则缺陷)HTTP 安全头
10036Server 头版本泄露信息泄露
10037X-Powered-By 泄露信息泄露
10062PII(敏感信息)信息泄露
10097Hash 泄露信息泄露
90003SRI(子资源完整性)缺失资源完整性
10108反向标签劫持客户端
10202CSRF 防护缺失会话
10040混合内容HTTPS
10098CORS 配置错误跨域

CSP frame-ancestors 优先级:当响应存在 CSP frame-ancestors 时,X-Frame-Options 缺失不报警(已被 frame-ancestors 覆盖)。

Burp Intruder 攻击类型公式表

类型payload 集数分配方式请求数公式典型场景
Sniper1逐位置轮流插入同一集位置数 × payload 数单参数模糊测试(如测 SQLi)
Battering Ram1所有位置同值payload 数多位置同值(如多字段同密码)
Pitchfork≤20多集同步并行迭代最小集大小多位置相关不同值(如用户名 + 角色)
Cluster Bomb≤20多集全组合所有集乘积用户名 + 密码独立爆破

Cluster Bomb 请求数爆炸示例:用户名集 1000 × 密码集 1000 = 100 万请求,既拖垮目标(构成 DoS)又淹没有效结果。只有独立未知值才用 Cluster Bomb

Burp Proxy Intercept 操作表

操作行为
Intercept on暂停每条消息,等待手动处理
Intercept off自动放行(仍记录历史)
Forward放行当前消息
Forward all放行全部队列
Drop丢弃当前消息
Drop all丢弃全部队列
编辑可修改请求 / 响应与目标地址
Match and Replace自动篡改请求 / 响应(含脚本创建)
WebSocket 拦截支持拦截 WebSocket 消息
HTTP/2支持编辑

HTTPS 解密需安装 Burp CA 证书到浏览器 / 系统信任根。

Burp Suite Community vs Professional

功能CommunityProfessional
Proxy Intercept
Repeater
Intruder限速全功能
主动扫描(Burp Scanner)
Match-and-Replace
价格免费付费

2024+ 版本 Community 与 Professional 合并安装器、共用代码库。

Nmap 端口扫描标志对照表

标志名称原理权限隐蔽性备注
-sSSYN 半开发 SYN 不完成三次握手需 root默认首选,多数系统不记录无 root 时退到 -sT
-sTTCP 全连接完成三次握手普通被 syslog 记录暴露意图
-sUUDP发 UDP 等 ICMP普通慢(ICMP 限速)可与 -sS 组合
-sN / -sF / -sXNULL / FIN / Xmas利用 RFC 793需 root主要 Unix 有效Windows / Cisco 误判
-sAACK映射防火墙规则需 root结果 unfiltered / filtered不报开/关
-sWWindow利用 TCP 窗口大小需 root部分系统可识别-
-sMMaimonFIN/ACK需 root类似 NULL/FIN/XmasBSD 派生
-sIIdle借僵尸主机需 root真盲扫隐藏真实 IP
-sOIP 协议发不同 IP 协议号需 root识别支持协议-
-bFTP bounce借 FTP 代理普通老旧多数 FTP 已关闭

Nmap 五端口状态

状态含义产生扫描
open应用接受 TCP 连接 / UDP 包-sS / -sT / -sU
closed可达但无监听-sS / -sT
filtered防火墙 / 路由器阻断多种
unfiltered可达但 ACK 无法定开/关-sA
open|filtered无法区分开放还是过滤-sU / 隐蔽扫描

Nmap 服务 / OS / NSE 标志

标志作用
-sV服务版本探测(nginx 1.25.4 / OpenSSH 9.6)
-OOS 指纹(TCP/IP 协议栈指纹)
-A激进扫描(等价 -sV -O --script + traceroute
--scriptNSE 脚本(--script vuln--script ssl-heartbleed
--script-args给脚本传参
--scanflags自定义 TCP 标志(必须配合基础扫描类型,否则用 SYN 逻辑解释响应)

NSE 脚本分类

分类用途
default默认安全基础扫描
safe不会崩溃目标的安全脚本
vuln漏洞检测(heartbleed / shellshock)
brute口令爆破(FTP / SSH / HTTP)
exploit主动利用漏洞
auth绕过鉴权或枚举用户
broadcast局域网广播发现
version服务版本扩展探测

Nessus 扫描模板与凭据通道

扫描模板

模板用途
Basic Network Scan基础网络漏洞扫描
Host Discovery主机发现(仅探活)
Web ApplicationWeb 应用扫描
Malware恶意软件检测
Advanced Scan自定义高级扫描
Credentialed Patch Audit凭据补丁审计

凭据通道

凭据通道验证方式能拿到
SSH(密码 / 密钥)rpm / dpkg / lslpp / swlist 包清单Linux 补丁、配置、合规基线
Windows SMB(本地管理员)注册表 + 管理共享Windows 补丁、配置、direct file analysis

铁律:①优先使用凭据扫描(无凭据依赖 banner 不准);②plugin 21745 检测凭据失败(必须主动核对);③Windows 需本地管理员才能做 direct file analysis。

产品线

产品定位
Nessus Essentials免费 5 IP(个人 / 学习)
Nessus Expert中小企业
Nessus Professional专业版(含全部插件)
Nessus Manager集中管理多扫描器

ZAP Docker 扫描模式对比

模式内容适用场景是否发攻击
Baseline Scanspider(默认 1 分钟)+ 被动扫描CI/CD PR 门禁❌ 无攻击载荷
Full Scanspider + 被动 + 主动攻击预发布 / 夜间构建✅ 发攻击载荷
API Scan按 OpenAPI / SOAP / GraphQL 定义扫描API 项目可选
Automation FrameworkYAML 驱动编排 spider / activeScan / passiveScan现代推荐,取代旧 Docker 脚本按配置

Baseline 扫描结果不等于完整漏洞评估——被动扫描只看经代理流量,覆盖度取决于爬虫深度。

SAST / DAST / SCA 对比表

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

核心理念:三者互补不可互替。SAST 守自写代码、DAST 验运行时、SCA 管依赖;只用一种会有系统性盲区。业务逻辑漏洞(越权)三类工具都发现不了

分层扫描策略表

工具频率理由
被动扫描ZAP BaselineCI 每次提交 / PR零影响可高频跑
主动扫描ZAP Full Scan预发布 / 夜间会发攻击流量,必须隔离低频
凭据扫描Nessus Credentialed每周拿本地补丁 / 配置清单
端口扫描Nmap周期性资产清点识别新开放端口、服务变化
依赖扫描SCA(npm audit / Snyk)package-lock 提交触发性价比最高的前端安全投入
代码扫描SAST(ESLint security)IDE / pre-commit编码期消灭自写代码缺陷

官方资源