最昂贵的工具并非最好的工具。
在现场每天使用的工具才是最好的工具。
>
本文涵盖内容
- 截至2026年,实践中使用最多的5款免费Web扫描器
- 每款工具的优点、局限性及实际使用场景
- 可直接复制使用的执行命令示例
- 如何组合这五款工具以达到媲美商业产品的覆盖范围
为何现在关注“免费扫描器”?
随着云、API和SaaS时代的全面到来,Web应用程序已成为企业的门户。每天都有数十个新的CVE被披露,而SQL注入、XSS、SSRF等经典漏洞甚至仍在击垮看似健全的企业。然而,商业DAST许可证每年轻松超过数千万韩元,对于初创公司或学习者来说,这是一个现实的负担。
幸运的是,开源社区的免费工具不再仅仅是“业余爱好”。独立基准测试结果显示,ZAP的检测率在标准漏洞类别上与商业工具的差距仅在10-15%以内。这意味着,如果组合得当,即使预算为零,也能进行实战级别的检查。

1. OWASP ZAP (ZAP by Checkmarx) — DAST的王者
一览
- 许可证: Apache 2.0 (完全免费,包括商业用途)
- 语言: Java
- 类型: DAST + 拦截代理
- 平台: Windows / macOS / Linux / Docker
ZAP于2023年从OWASP移交至软件安全项目(SSP),并于2024年9月,其核心开发团队加入Checkmarx,因此也被称为“ZAP by Checkmarx”。尽管许多用户因所有权变更的传闻而感到紧张,但社区版功能无限制且完全免费,ZAP Desktop、CLI和Docker镜像均免费的承诺保持不变。
为何位居第一?它同时支持代理模式和自动扫描模式。它提供与Burp Suite Pro相似的体验,但100%免费。它包含自动漏洞扫描、被动和主动扫描、爬虫、模糊测试、用于CI/CD集成的REST API以及插件生态系统,覆盖了从个人学习到企业流水线的所有需求。在2026年2月发布的5.3.0版本中,通过JSON-RPC扫描、重写理解SPA框架的Modern AJAX Spider以及DOM XSS Sink检测的增强,对SPA的支持也显著提升。
快速开始# Docker基线扫描(最简单)
docker run -t ghcr.io/zaproxy/zaproxy:stable zap-baseline.py
-t https://example.com
# 全自动扫描 + HTML报告
docker run -v $(pwd):/zap/wrk/:rw -t ghcr.io/zaproxy/zaproxy:stable
zap-full-scan.py -t https://example.com -r report.html
不足之处
基于Java,因此内存占用较大。对于完全的CSR(Client-Side Rendering)应用程序,与商业扫描器相比,存在一些遗漏。要将其集成到CI流水线中,需要进行一些初始调优。
2. Nuclei — 模板革命
一览
- 开发者: ProjectDiscovery
- 语言: Go (速度卓越)
- 类型: 基于模板的CVE·错误配置扫描器
- 核心: YAML模板 + 并行扫描
ProjectDiscovery开发的Nuclei是一款快速灵活的脚本化扫描器,专注于通过基于模板的检测实现自动化。它用Go语言编写,每秒可发送数百个请求,同时几乎不消耗资源。社区YAML模板数量达数千个,新的CVE披露后,相应的检测模板通常会在几小时内上传。截至2026年,它在“快速查找暴露于最新CVE的资产”方面已成为事实上的标准。
优点- 压倒性的速度 (Go + 并发)
- CVE披露 → 模板注册仅需数小时
- 可编写自定义模板进行组织特定检查
- 与Docker·GitHub Actions完美结合
快速开始
# 安装
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# 更新模板
nuclei -update-templates
# 仅对单个目标应用关键/高危CVE模板
nuclei -u https://example.com -t cves/ -severity critical,high
# 批量扫描资产列表
nuclei -l targets.txt -rate-limit 150 -o nuclei_report.txt
不足之处
Nuclei不进行爬取,而是依赖于基于模板的目标检查。这意味着您需要直接提供URL或输入通过其他工具收集的列表。因此,ZAP(爬取·端点发现·模糊测试)和Nuclei(已知CVE·错误配置检测)的组合被认为是2026年最有效的配对。
3. Nikto — 22年老兵的坚守
一览
- 开发者: Chris Sullo (2001年至今)
- 语言: Perl
- 类型: Web服务器加固扫描器
这款诞生于2001年的工具至今仍是Kali Linux的默认组件。Nikto扮演着服务器加固检查器的角色,检查7,000多种过时的服务器软件、危险的默认文件和常见的错误配置。换句话说,它检查的是服务器层面的“门禁安全”,而非应用程序逻辑。
优点
- 检查7,000多种危险文件、设置和默认路径
- 安装和运行极其简单
- 在外部侦察(Recon)阶段5分钟内即可出结果
快速开始
# Kali中默认安装。其他系统使用apt / brew
nikto -h https://example.com
# 强制SSL + HTML报告
nikto -h https://example.com -ssl -o nikto_report.html -Format html
# 仅运行特定调优选项(9: SQL注入, 4: 文件包含)
nikto -h https://example.com -Tuning 9,4
不足之处
它不测试应用程序逻辑,不执行爬取或表单交互,并且误报率较高。因此,只要记住“Nikto是开始而非结束”,它仍然是一个强大的先发投手。
4. Wapiti — Python模糊测试器的典范
一览
- 许可证: GPL v2
- 语言: Python 3 (3.12 / 3.13 / 3.14)
- 类型: 黑盒模糊测试DAST
- 攻击模块: 30+
Wapiti是一款命令行黑盒模糊测试器,它不读取源代码,而是爬取已部署的Web应用程序,提取链接和表单,然后通过GET·POST参数·Cookie·HTTP头发送攻击载荷。其30多个攻击模块涵盖了注入缺陷、Log4Shell·Spring4Shell·Shellshock等已知CVE、服务器错误配置,并通过读取Swagger/OpenAPI规范来检查API。
优点
- Python生态系统使其易于定制
- 支持基于OpenAPI的API扫描
- 整洁,便于集成到CI流水线
快速开始
# 安装 (Python 3.12及以上)
pip install wapiti3
# 基本扫描
wapiti -u https://example.com
# 仅运行SQLi、XSS、XXE模块
wapiti -u https://example.com --module sql,xss,xxe
# 基于OpenAPI规范的API扫描
wapiti -u https://api.example.com --swagger openapi.json
不足之处
Wapiti支持无头Firefox,但与ZAP或Burp相比,其SPA支持有限。没有GUI对初学者来说是一个门槛,但从自动化角度来看则更为简洁。
5. Burp Suite Community Edition — 手动检查的标准
一览
- 开发者: PortSwigger
- 类型: 基于拦截代理的手动分析工具
尽管Burp Suite Pro实际上是行业标准,但社区版也免费提供了请求拦截、Repeater、Decoder和Comparer等手动检查的核心功能。虽然没有自动扫描器,但截至2026年,Burp Suite仍然被广泛认为是进行高级手动Web应用程序渗透测试最受认可的工具。
优点
- OSCP、漏洞赏金猎人、实战渗透测试人员最常使用的工具
- 请求操作的自由度无与伦比
- 丰富的社区扩展 (BApp Store)
不足之处
没有自动漏洞扫描功能。存在速度限制(Throttling),比Pro版慢。无法保存项目,导致会话延续不便。尽管如此,在“我想用自己的大脑发现漏洞的时刻”,它仍然是首选。
如何组合这五款工具
2026年实践中有效的组合公式大致如下:
- 使用Nikto在5分钟内快速浏览服务器级别问题(暴露的.git、默认管理员路径、旧版Apache等)
- 使用OWASP ZAP进行爬取 + 被动/主动扫描(SQLi·XSS·会话·头部)
- 使用Nuclei精确打击最新的CVE·错误配置
- 使用Wapiti进一步加强参数模糊测试
- 使用Burp Suite Community手动验证自动扫描器遗漏的业务逻辑漏洞
即使只正确执行这个顺序,对于中小型Web资产,也能覆盖一台商业DAST产品80%以上的工作。
⚠️ 注意事项
- 未经授权的扫描是违法的。 根据国内信息通信网络法,未经授权擅自扫描他人系统本身就可能受到处罚。仅在书面同意、SOW或官方漏洞赏金计划范围内使用。
- 直接扫描生产网络是最后手段。 扫描器会故意生成异常流量。这可能导致数据库锁定、会话泛滥、WAF拦截或服务中断。优先使用预发布或镜像环境。
- 误报(False Positive)是正常的。 所有DAST都会产生误报。扫描器发出的警报是“手动验证的起点”,而不是报告的结论。
✅ 总结
免费工具绝不应被轻视。以ZAP和Nuclei为核心,辅以Nikto、Wapiti和Burp Community的配置,即使在零预算的限制下,也能实现令人惊讶的广泛覆盖。重要的是,不是“哪个工具最好”,而是理解每个工具的特点并具备组合它们的能力。
下一篇文章中,我将介绍一个实用的食谱,将这五款工具部署到GitHub Actions上,自动集成到CI流水线中。

发表回复