Nuclei 是一款基于模板驱动的漏洞扫描与验证工具,通过执行社区或自定义的 PoC(模板)对目标发起请求并匹配响应,从而判断漏洞是否真实存在。相比传统漏扫工具,它误报更低、速度更快,适用于 Web、安全测试和自动化扫描场景,是当前红队和漏洞挖掘中的常用工具之一。
1. 快速扫描
1.1 指定目标
| 命令 | 说明 |
|---|---|
nuclei -u https://example.com | 扫描单个目标 |
nuclei -l targets.txt | 扫描列表中的多个目标(一行一个) |
1.2 选择模板
# 使用官方模板库中的特定目录
nuclei -u https://example.com -t http/cves/ -t exposures/
# 使用所有模板(默认,不指定 -t 时自动加载)
nuclei -u https://example.com1.3 常用过滤参数
| 参数 | 说明 | 示例 |
|---|---|---|
-tags | 按标签筛选 | -tags cve,oast |
-etags | 排除特定标签 | -etags intrusive |
-s | 按严重等级 | -s critical,high |
-id | 按模板 ID 精确运行 | -id CVE-2024-XXXX |
-a | 按作者筛选 | -a pdteam |
1.4 输出与监控
| 参数 | 说明 |
|---|---|
-o result.txt | 保存结果到文件 |
-silent | 仅显示发现的漏洞 |
-jsonl | JSON 行格式输出(便于后续处理) |
-stats | 显示实时扫描统计 |
-si 10 | 每 10 秒刷新统计信息 |
1.5 速率与并发
| 参数 | 说明 | 默认值 |
|---|---|---|
-rl 50 | 每秒最大请求数 | 150 |
-c 10 | 并行执行的模板数 | 25 |
-timeout 15 | 单个请求超时(秒) | 10 |
2. POC 检索与查找
2.1 更新模板库
确保本地 POC 库与官方同步,获取最新漏洞检测模板。
nuclei -ut2.2 列出所有可用模板
nuclei -tl该命令会列出所有已安装模板的路径和基本信息。
2.3 按关键词搜索 POC
结合 grep 在模板目录中搜索特定关键词(如漏洞名称、CVE 编号、应用名)。
# 搜索包含 "CVE-2023-28432" 的模板
grep -r "CVE-2023-28432" ~/nuclei-templates/
# 搜索包含 "MinIO" 的模板
grep -r -i "minio" ~/nuclei-templates/2.4 通过 -id 或 -tags 精确定位
# 运行已知 ID 的模板
nuclei -u https://example.com -id CVE-2023-28432
# 运行带特定标签的模板(如 spring4shell)
nuclei -u https://example.com -tags spring4shell2.5 查看模板元数据(名称、标签、作者等)
使用 -td 参数显示模板内容,快速确认该模板的检测逻辑和适用场景。
# 显示模板内容(YAML 源码)
nuclei -td -id CVE-2023-284323. 典型使用场景命令速查
3.1 快速验证单个 CVE
nuclei -u https://example.com -id CVE-2024-12345 -silent3.2 批量扫描高危漏洞
nuclei -l targets.txt -s critical,high -o critical_high.txt -stats3.3 仅扫描特定技术的 POC
nuclei -u https://example.com -tags wordpress,php -etags intrusive3.4 使用代理扫描(避免暴露真实 IP)
nuclei -u https://example.com -p http://127.0.0.1:8080 -silent3.5 检索并测试某应用的已知漏洞
# 先查找相关模板
grep -r "Apache Tomcat" ~/nuclei-templates/
# 然后运行这些模板(假设标签为 tomcat)
nuclei -u https://example.com -tags tomcat -s high,critical
评论已关闭