nuclei-templates 自动化安全扫描操作指南:12,000 个模板从安装到出报告
2026/9/13 9:38:48 网站建设 项目流程

nuclei-templates 自动化安全扫描操作指南:12,000 个模板从安装到出报告

【免费下载链接】nuclei-templatesCommunity curated list of templates for the nuclei engine to find security vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/nu/nuclei-templates

nuclei-templates 是 ProjectDiscovery 维护的安全扫描模板库,收录 11,997 个 YAML 模板,覆盖 HTTP、DNS、SSL、TCP、文件、代码等协议,配合 nuclei 引擎即可对目标做自动化安全扫描与漏洞检测。本文面向刚接触安全扫描的开发者与新手安全工程师:先确认这套模板能扫什么,再装好环境、对着本地靶场跑通第一次扫描,最后按场景学会挑模板、读结果、压误报。

看懂 11 个目录:先确认这套模板能扫什么

仓库按协议类型分成 11 个顶级目录,11,997 个模板文件分布在 873 个目录里,TEMPLATES-STATS.md 里有一份带 JSON 格式的完整统计。按严重级别看:critical 1,916 个、high 2,976 个、medium 2,841 个、low 518 个、info 5,103 个。级别分布说明它不只抓高危漏洞,大量信息收集与指纹类模板也是重要组成部分。

目录模板数主要用途
http/11,246Web 漏洞、CVE 检测、默认口令、后台面板、信息泄露
cloud/663AWS、Azure、GCP、阿里云配置审计,K8s 集群检查
file/447本地文件中的 API 密钥、Android 应用配置、webshell
code/303代码仓库扫描,Linux / macOS / Windows 系统审计
network/280TCP 服务指纹、蜜罐与 C2 回连识别
dast/251反射型 XSS、SQL 注入、SSRF 等动态检测
workflows/207多个模板按顺序串联,一次跑完一个应用的完整检查
ssl/+dns/72证书与 TLS 配置、DNS 记录与域名接管风险

比目录更细的维度是标签:vuln6,642 个、cve4,431 个、wordpress1,698 个、exposure1,482 个。目录、标签、profile 是三种筛选粒度,后面会分别用到。

📦 把 nuclei 引擎和模板库装到本机

nuclei 是执行引擎,模板库只是数据,两者缺一不可。

  1. 安装 nuclei 引擎,最省事的是用 Go 一行装法:
go install -u github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

不想装 Go 环境的话,也可以从 nuclei 官方 Release 页下载对应平台的预编译二进制,放入 PATH 即可。

  1. 拉一份模板库到本地,方便离线翻目录、挑模板:
git clone https://gitcode.com/GitHub_Trending/nu/nuclei-templates
  1. 引擎自带一份模板缓存,用下面命令拉取并更新:
nuclei -update-templates

装完执行nuclei -version确认版本号。以后模板更新只需要重复第 3 步。

🧪 对着本地靶场跑通第一次扫描

第一次别直接打生产环境。用 docker 起一个 DVWA 之类的本地靶机,所有扫描只打 127.0.0.1,出错也没有副作用。

  1. 先跑指纹类模板确认链路通:
nuclei -u http://127.0.0.1:8080 -t http/technologies/

有输出说明引擎和模板都工作正常,每一行就是一个被命中的技术指纹。

  1. 再跑一次带级别过滤的全量扫描:
nuclei -u http://127.0.0.1:8080 -severity medium,high,critical -v

输出里每条命中形如[template-id][severity][name],下面跟着命中的 URL 与匹配内容。想复现某条结果,加上-json参数,拿curl-command字段手工回放即可。

🎯 按场景挑模板:目录、标签与 profile 三种筛法

三种筛选方式各管一摊

  • -t给目录或文件路径,最精确,适合"我就想查这一类";
  • -tags按标签组合筛选,跨目录生效,适合"我想看所有信息泄露";
  • -profile直接加载 profiles/ 下的现成预设,如recommendedpentestcvesmisconfigurationswordpressosint等,适合不想手配参数的时候。

常用参数速查:

参数作用示例
-t指定模板文件或目录nuclei -t http/default-logins/ -u 目标
-tags按标签组合筛选-tags exposure,misconfig
-severity只看指定级别-severity high,critical
-profile加载 profiles/ 下的预设-profile cves
-l批量目标列表-l targets.txt
-json -oJSON 输出落盘-json -o scan.json
-rate-limit限制每秒请求数-rate-limit 100
-exclude-tags排除标签-exclude-tags dos,fuzz

三个真实场景的配法

本地 CI 里定时回归:把配置错误检测挂进流水线,每天对资产列表跑一遍:

nuclei -profile misconfigurations -l targets.txt -json -o ci-scan.json

misconfigurations预设只覆盖http/misconfiguration/network/misconfig/javascript/misconfiguration/三个目录,噪音小,适合无人值守跑。

渗透测试前自查:开测前先过一遍推荐预设,摸清目标基本盘:

nuclei -profile recommended -u https://your-target -rate-limit 100

recommended预设覆盖 http、tcp、dns、ssl、javascript 五种类型,并且排除了 Log4Shell 这类破坏性模板,相对温和。

特定技术栈专项:目标确定是 WordPress 站点时,直接按标签筛出 1,698 个相关模板:

nuclei -tags wordpress -u https://your-target

🧯 读懂扫描输出,把误报和噪音管起来

-json后每条结果都有template-idinfo.severitymatcher-namematched-atcurl-command字段,前四个用来归档,最后一个用来人工复核。想快速看哪个模板命中最多:

nuclei -u https://your-target -tags exposure -json | jq -r .template-id | sort | uniq -c | sort -rn

四个容易踩的坑,提前说清楚:

  1. info 级别不等于漏洞。指纹类命中只说明"有这个东西",别直接写进报告,先人工确认是否构成风险。
  2. 生产目标务必限速。默认速率对小型服务偏高,加-rate-limit 100起步,再视对方响应调整。
  3. 日常扫描排除高噪音标签-exclude-tags fuzz,osint能砍掉一大半低价值命中。
  4. 只扫有授权的目标,模板再全也别越过这条线。

模板库的价值不在一次跑完,而在把检查沉淀成可重复执行的命令。把上面几条命令固化进 CI 或日常脚本,每次上线前花几分钟跑一遍,暴露面会明显收敛。等你对输出足够熟,可以照着 TEMPLATE-CREATION-GUIDE.md 写第一个自定义模板,按 CONTRIBUTING.md 提给社区。

【免费下载链接】nuclei-templatesCommunity curated list of templates for the nuclei engine to find security vulnerabilities.项目地址: https://gitcode.com/GitHub_Trending/nu/nuclei-templates

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询