Nuclei 用于根据模板向目标发送请求,实现零误报并能在大量主机上快速扫描。Nuclei 支持多种协议的扫描,包括 TCP、DNS、HTTP、SSL、File、Whois、Websocket、Headless、Code 等。通过强大灵活的模板,Nuclei 可以用于建模各种安全检查。
我们有一个专门的仓库,收集了由超过 300 名安全研究人员和工程师贡献的各种类型的漏洞模板。
:exclamation: 免责声明 |
---|
该项目正在积极开发中。版本更新可能会带来重大变化。更新前请查看发布说明。 |
该项目主要设计为独立的命令行工具。**将 nuclei 作为服务运行可能存在安全风险。**建议谨慎使用并采取额外的安全措施。 |
Nuclei 需要 go1.21 才能成功安装。运行以下命令安装最新版本 -
<details> <summary>Brew</summary>go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
</details> <details> <summary>Docker</summary>brew install nuclei
</details>docker pull projectdiscovery/nuclei:latest
更多安装方法可以在这里找到。
<table> <tr> <td>自 v2.5.2 版本以来,Nuclei 默认内置了自动模板下载/更新支持。Nuclei-Templates 项目提供了一个由社区贡献的随时可用的模板列表,并不断更新。
你仍然可以随时使用 update-templates
标志更新 nuclei 模板;你可以按照 Nuclei 的模板编写指南为你的个人工作流程和需求编写自己的检查。
YAML DSL 参考语法可以在这里找到。
</td> </tr> </table>nuclei -h
这将显示该工具的帮助信息。以下是它支持的所有开关。
Nuclei 是一个快速、基于模板的漏洞扫描器, 专注于广泛的可配置性、大规模的可扩展性和易用性。 用法: ./nuclei [flags] 标志: 目标: -u, -target string[] 要扫描的目标 URL/主机 -l, -list string 包含要扫描的目标 URL/主机列表的文件路径(每行一个) -eh, -exclude-hosts string[] 从输入列表中排除扫描的主机(IP、CIDR、主机名) -resume string 使用 resume.cfg 恢复扫描(集群将被禁用) -sa, -scan-all-ips 扫描与 DNS 记录关联的所有 IP -iv, -ip-version string[] 要扫描的主机名 IP 版本(4,6)-(默认为 4) 目标格式: -im, -input-mode string 输入文件模式(list, burp, jsonl, yaml, openapi, swagger)(默认为 "list") -ro, -required-only 在生成请求时仅使用输入格式中的必填字段 -sfv, -skip-format-validation 解析输入文件时跳过格式验证(如缺少变量) 模板: -nt, -new-templates 仅运行最新 nuclei-templates 版本中新增的模板 -ntv, -new-templates-version string[] 运行特定版本中新增的模板 -as, -automatic-scan 使用 wappalyzer 技术检测到标签映射的自动 Web 扫描 -t, -templates string[] 要运行的模板或模板目录列表(逗号分隔,文件) -turl, -template-url string[] 要运行的模板 URL 或包含模板 URL 的列表(逗号分隔,文件) -w, -workflows string[] 要运行的工作流或工作流目录列表(逗号分隔,文件) -wurl, -workflow-url string[] 工作流 URL 或包含工作流 URL 的列表(逗号分隔,文件) -validate 验证传递给 nuclei 的模板 -nss, -no-strict-syntax 禁用模板的严格语法检查 -td, -template-display 显示模板内容 -tl 列出所有可用的模板 -tgl 列出所有可用的标签 -sign 使用 NUCLEI_SIGNATURE_PRIVATE_KEY 环境变量中定义的私钥签名模板 -code 启用加载基于 代码协议的模板 -dut, -disable-unsigned-templates 禁止运行未签名或签名不匹配的模板 过滤: -a, -author string[] 根据作者运行模板(逗号分隔,文件) -tags string[] 根据标签运行模板(逗号分隔,文件) -etags, -exclude-tags string[] 根据标签排除模板(逗号分隔,文件) -itags, -include-tags string[] 即使被默认或配置排除,也要执行的标签 -id, -template-id string[] 根据模板 ID 运行模板(逗号分隔,文件,允许通配符) -eid, -exclude-id string[] 根据模板 ID 排除模板(逗号分隔,文件) -it, -include-templates string[] 即使被默认或配置排除,也要执行的模板文件或目录路径 -et, -exclude-templates string[] 要排除的模板文件或目录路径(逗号分隔,文件) -em, -exclude-matchers string[] 要在结果中排除的模板匹配器 -s, -severity value[] 根据严重程度运行模板。可能的值: info, low, medium, high, critical, unknown -es, -exclude-severity value[] 根据严重程度排除模板。可能的值: info, low, medium, high, critical, unknown -pt, -type value[] 根据协议类型运行模板。可能的值: dns, file, http, headless, tcp, workflow, ssl, websocket, whois, code, javascript -ept, -exclude-type value[] 根据协议类型排除模板。可能的值: dns, file, http, headless, tcp, workflow, ssl, websocket, whois, code, javascript -tc, -template-condition string[] 根据表达式条件运行模板 输出: -o, -output string 输出文件以写入发现的问题/漏洞 -sresp, -store-resp 将通过nuclei的所有请求/响应存储到输出目录 -srd, -store-resp-dir string 将通过nuclei的所有请求/响应存储到自定义目录(默认为"output") -silent 仅显示发现结果 -nc, -no-color 禁用输出内容着色(ANSI转义码) -j, -jsonl 以JSONL格式写入输出 -irr, -include-rr -omit-raw 在JSON、JSONL和Markdown输出中包含请求/响应对(仅针对发现结果)[已废弃,请使用-omit-raw](默认为true) -or, -omit-raw 在JSON、JSONL和Markdown输出中省略请求/响应对(仅针对发现结果) -ot, -omit-template 在JSON、JSONL输出中省略编码的模板 -nm, -no-meta 禁用在命令行输出中打印结果元数据 -ts, -timestamp 在命令行输出中启用打印时间戳 -rdb, -report-db string nuclei报告数据库(始终使用此选项持久化报告数据) -ms, -matcher-status 显示匹配失败状态 -me, -markdown-export string 导出结果为Markdown格式的目录 -se, -sarif-export string 导出结果为SARIF格式的文件 -je, -json-export string 导出结果为JSON格式的文件 -jle, -jsonl-export string 导出结果为JSONL格式的文件 -rd, -redact string[] 从查询参数、请求头和正文中编辑给定的键列表 配置: -config string nuclei配置文件的路径 -tp, -profile string 要运行的模板配置文件 -tpl, -profile-list 列出社区模板配置文件 -fr, -follow-redirects 为HTTP模板启用跟随重定向 -fhr, -follow-host-redirects 跟随同一主机上的重定向 -mr, -max-redirects int HTTP模板跟随的最大重定向次数(默认为10) -dr, -disable-redirects 为HTTP模 板禁用重定向 -rc, -report-config string nuclei报告模块配置文件 -H, -header string[] 以header:value格式包含在所有HTTP请求中的自定义头/cookie(命令行,文件) -V, -var value 以key=value格式的自定义变量 -r, -resolvers string 包含nuclei解析器列表的文件 -sr, -system-resolvers 使用系统DNS解析作为错误回退 -dc, -disable-clustering 禁用请求聚类 -passive 启用被动HTTP响应处理模式 -fh2, -force-http2 强制在请求中使用HTTP2连接 -ev, -env-vars 允许在模板中使用环境变量 -cc, -client-cert string 用于对扫描主机进行身份验证的客户端证书文件(PEM编码) -ck, -client-key string 用于对扫描主机进行身份验证的客户端密钥文件(PEM编码) -ca, -client-ca string 用于对扫描主机进行身份验证的客户端证书颁发机构文件(PEM编码) -sml, -show-match-line 显示文件模板的匹配行,仅适用于提取器 -ztls 使用ztls库,自动回退到标准库以支持tls13 [已废弃] 默认启用自动回退到ztls -sni string 要使用的TLS SNI主机名(默认:输入域名) -dka, -dialer-keep-alive value 网络请求的保持连接持续时间 -lfa, -allow-local-file-access 允许在系统上任何位置访问文件(有效载荷) -lna, -restrict-local-network-access 阻止连接到本地/私有网络 -i, -interface string 用于网络扫描的网络接口 -at, -attack-type string 执行的有效载荷组合类型(batteringram、pitchfork、clusterbomb) -sip, -source-ip string 用于网络扫描的源IP地址 -rsr, -response-size-read int 要读取的最大响应大小(字节) -rss, -response-size-save int 要保存的最大响应大小(字节)(默认为1048576) -reset 重置删除所有nuclei配置和数据文件(包括nuclei-templates) -tlsi, -tls-impersonate 启用实验性客户端hello(ja3)TLS随机化 -hae, -http-api-endpoint string 实验性HTTP API端点 INTERACTSH: -iserver, -interactsh-server string 自托管实例的interactsh服务器URL(默认:oast.pro,oast.live,oast.site,oast.online,oast.fun,oast.me) -itoken, -interactsh-token string 自托管interactsh服务器的身份验证令牌 -interactions-cache-size int 交互缓存中保留的请求数量(默认为5000) -interactions-eviction int 从缓存中清除请求前等待的秒数(默认为60) -interactions-poll-duration int 每次交互轮询请求之间等待的秒数(默认为5) -interactions-cooldown-period int 退出前额外的交互轮询时间(默认为5) -ni, -no-interactsh 禁用interactsh服务器进行OAST测试,排除基于OAST的模板 模糊测试: -ft, -fuzzing-type string 覆盖模板中设置的模糊测试类型(replace、prefix、postfix、infix) -fm, -fuzzing-mode string 覆盖模板中设置的模糊测试模式(multiple、single) -fuzz 启用加载模糊测试模板(已废弃:请使用-dast代替) -dast 启用/运行dast(模糊测试)nuclei模板 -dfp, -display-fuzz-points 在输出中显示模糊测试点以进行调试 -fuzz-param-frequency int 跳过前不 感兴趣参数的模糊测试频率(默认为10) -fa, -fuzz-aggression string 模糊测试攻击程度控制有效载荷数量(low、medium、high)(默认为"low") UNCOVER: -uc, -uncover 启用uncover引擎 -uq, -uncover-query string[] uncover搜索查询 -ue, -uncover-engine string[] uncover搜索引擎(shodan,censys,fofa,shodan-idb,quake,hunter,zoomeye,netlas,criminalip,publicwww,hunterhow,google)(默认为shodan) -uf, -uncover-field string 要返回的uncover字段(ip,port,host)(默认为"ip:port") -ul, -uncover-limit int 要返回的uncover结果数量(默认为100) -ur, -uncover-ratelimit int 覆盖未知速率限制引擎的速率限制(默认为60 req/min)(默认为60) 速率限制: -rl, -rate-limit int 每秒发送的最大请求数(默认为150) -rld, -rate-limit-duration value 每秒发送的最大请求数(默认为1s) -rlm, -rate-limit-minute int 每分钟发送的最大请求数(已废弃) -bs, -bulk-size int 每个模板并行分析的最大主机数(默认为25) -c, -concurrency int 并行执行的最大模板数(默认为25) -hbs, -headless-bulk-size int 每个模板并行分析的最大无头主机数(默认为10) -headc, -headless-concurrency int 并行执行的最大无头模板数(默认为10) -jsc, -js-concurrency int 并行执行的最大JavaScript运行时数(默认为120) -pc, -payload-concurrency int 每个模板的最大有效载荷并发数(默认为25) -prc, -probe-concurrency int 使用httpx进行HTTP探测的并发数(默认为50) 优化: -timeout int 超时前等待的秒数(默认为10) -retries int 失败请求的重试次数(默认为1) -ldp, -leave-default-ports 保留默认的HTTP/HTTPS端口(例如host:80,host:443) -mhe, -max-host-error int 跳过扫描前主机的最大错误数(默认为30) -te, -track-error string[] 将给定错误添加到max-host-error监视列表(standard、file) -nmhe, -no-mhe 禁用基于错误跳过主机扫描 -project 使用项目文件夹避免多次发送相同请求 -project-path string 设置特定的项目路径(默认为"/tmp") -spm, -stop-at-first-match 在第一次匹配后停止处理HTTP请求(可能会破坏模板/工作流逻辑) -stream 流模式 - 开始处理而不对输入进行排序 -ss, -scan-strategy value 扫描时使用的策略(auto/host-spray/template-spray)(默认为auto) -irt, -input-read-timeout value 输入读取超时(默认为3m0s) -nh, -no-httpx 对非URL输入禁用httpx探测 -no-stdin 禁用stdin处理 无头: -headless 启用需要无头浏览器支持的模板(Linux上的root用户将禁用沙盒) -page-timeout int 无头模式下等待每个页面的秒数(默认为20) -sb, -show-browser 在运行无头模式模板时在屏幕上显示浏览器 -ho, -headless-options string[] 使用额外选项启动无头Chrome -sc, -system-chrome 使用本地安装的Chrome浏览器而不是nuclei安装的浏览器 -lha, -list-headless-action 列出可用的无头操作 调试: -debug 显示所有请求和响应 -dreq, -debug-req 显示所有发送的请求 -dresp, -debug-resp 显示所有接收的响应 -p, -proxy string[] 要使用的http/socks5代理列表(逗号分隔或文件输入) -pi, -proxy-internal 代理所有内部请求 -ldf, -list-dsl-function 列出所有支持的DSL函数签名 -tlog, -trace-log string 写入发送请求跟踪日志的文件 -elog, -error-log string 写入发送请求错误日志的文件 -version 显示nuclei版本 -hm, -hang-monitor 启用nuclei挂起监控 -v, -verbose 显示详细输出 -profile-mem string 可选的nuclei内存配置文件转储文件 -vv 显示加载用于扫描的模板 -svd, -show-var-dump 显示变量转储以进行调试 -ep, -enable-pprof 启用pprof调试服务器 -tv, -templates-version 显示已安装的nuclei-templates版本 -hc, -health-check 运行诊断检查 更新: -up, -update 将nuclei引擎更新到最新发布版本 -ut, -update-templates 将nuclei-templates更新到最新发布版本 -ud, -update-template-dir string 安装/更新nuclei-templates的自定义目录 -duc, -disable-update-check 禁用自动nuclei/模板更新检查 统计: -stats 显示正在运行的扫描的统计信息 -sj, -stats-json 以JSONL格式显示统计信息 -si, -stats-interval int 显示统计更新之间等待的秒数(默认5) -mp, -metrics-port int 暴露nuclei指标的端口(默认9092) 云: -auth 配置projectdiscovery云(pdcp) api密钥(默认为true) -tid, -team-id string 将扫描结果上传到给定的团队ID(可选)(默认"none") -cup, -cloud-upload 将扫描结果上传到pdcp仪 表板 -sid, -scan-id string 将扫描结果上传到现有的扫描ID(可选) -sname, -scan-name string 设置扫描名称(可选) 身份验证: -sf, -secret-file string[] 包含nuclei认证扫描机密的配置文件路径 -ps, -prefetch-secrets 从机密文件预取机密 示例: 在单个主机上运行nuclei: $ nuclei -target example.com 使用特定模板目录运行nuclei: $ nuclei -target example.com -t http/cves/ -t ssl 对主机列表运行nuclei: $ nuclei -list hosts.txt 使用JSON输出运行nuclei: $ nuclei -target example.com -json-export output.json 使用排序的Markdown输出运行nuclei(带环境变量): $ MARKDOWN_EXPORT_SORT_MODE=template nuclei -target example.com -markdown-export nuclei_report/ 更多文档可在以下网址获取: https://docs.nuclei.sh/getting-started/running 运行Nuclei 有关运行Nuclei的详细信息,请参阅https://docs.projectdiscovery.io/tools/nuclei/running 从Go代码使用Nuclei 使用Nuclei作为库/SDK的完整指南可在[godoc](https://pkg.go.dev/github.com/projectdiscovery/nuclei/v3/lib#section-readme)上找到 资源 您可以在https://docs.projectdiscovery.io/tools/nuclei/访问Nuclei的主要文档,并在[ProjectDiscovery云平台](https://cloud.projectdiscovery.io)上了解更多关于云端Nuclei的信息 有关Nuclei的更多资源和视频,请参阅https://docs.projectdiscovery.io/tools/nuclei/resources! 鸣谢 感谢所有出色的[社区贡献者发送PR](https://github.com/projectdiscovery/nuclei/graphs/contributors)并保持这个项目更新。:heart: 如果您有想法或某种改进,欢迎您贡献并参与项目,随时发送您的PR。 另外,请查看以下类似的开源项目,它们可能适合您的工作流程: [FFuF](https://github.com/ffuf/ffuf), [Qsfuzz](https://github.com/ameenmaali/qsfuzz), [Inception](https://github.com/proabiral/inception), [Snallygaster](https://github.com/hannob/snallygaster), [Gofingerprint](https://github.com/Static-Flow/gofingerprint), [Sn1per](https://github.com/1N3/Sn1per/tree/master/templates), [Google tsunami](https://github.com/google/tsunami-security-scanner), [Jaeles](https://github.com/jaeles-project/jaeles), [ChopChop](https://github.com/michelin/ChopChop) 许可证 Nuclei在[MIT许可证](https://github.com/projectdiscovery/nuclei/blob/main/LICENSE.md)下分发
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型, 适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号