nuclei全面使用教程【工具篇】

Nuclei是一款快速的、基于模板的安全扫描工具,适用于现代应用、基础设施、云平台和网络。本文介绍了Nuclei的安装、参数解析、运行方式、结果仪表板的使用,以及如何配合自研工具和使用模板编辑器进行更高效的安全检测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.工具概述

Nuclei 是一种可快速利用的漏洞扫描程序,旨在探测现代应用程序、基础设施、云平台和网络,帮助识别和缓解漏洞。

Nuclei 的核心是利用模板(表示为简单的 YAML 文件)来描述检测、排名和解决特定安全漏洞的方法。

每个模板都描述了可能的攻击路线,详细说明了漏洞、其严重性、优先级以及偶尔出现的相关漏洞。这种以模板为中心的方法确保 Nuclei 不仅可以识别潜在威胁,还可以精确定位具有切实现实影响的可利用漏洞。

安装Nuclei的几种方式:

go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
brew install nuclei
docker pull projectdiscovery/nuclei:latest

或者直接下载二进制版本:

https://github.com/projectdiscovery/nuclei/releases

验证安装:

在这里插入图片描述


2.参数解析

目标:

1、-u / -l

指定扫描的目标URL/主机及主机列表.txt

2、-resume

使用指定的resume.cfg文件恢复扫描

3、-sa

扫描由目标解析出来的所有IP(针对域名对应多个IP的情况)

4、-iv

指定要扫描的主机名的IP版本(4,6)-(默认为4)

模板:

5、-tl

列出所有可用的模板

例如:nuclei -tl

在这里插入图片描述

6、-nt

仅运行最新发布的nuclei模板

7、-t

指定要运行的模板或者模板目录(以逗号分隔或目录形式)

8、-turl

指定要运行的模板URL或模板目录URL(以逗号分隔或目录形式)

过滤:

9、-a,执行指定作者的模板(逗号分隔,文件)

10、-tags,执行带指定tag的模板(逗号分隔,文件)

11、-etags,排除带指定tag的模板(逗号分隔,文件)

12、-id,执行指定id的模板(逗号分隔,文件)

13、-eid,排除指定id的模板(逗号分隔,文件)

14、-s,根据严重程度运行模板,可选值有:info,low,medium,high,critical

15、-es,根据严重程度排除模板,可选值有:info,low,medium,high,critical

16、-pt

根据类型运行模板,可选值有:dns, file, http, headless, network, workflow, ssl, websocket, whois

17、-ept

根据类型排除模板,可选值有:dns, file, http, headless, network, workflow, ssl, websocket, whois

输出:

18、-o,输出发现的问题到文件

19、-sresp,将nuclei的所有请求和响应输出到目录

20、-srd,将nuclei的所有请求和响应输出到指定目录(默认:output)

21、-ms,显示匹配失败状态

22、-me,以markdown格式导出结果

23、-se,以SARIF格式导出结果

24、-je,以JSON格式导出结果

25、-jle,以JSONL(ine)格式导出结果

配置:

26、-fr,为HTTP模板启用重定向

27、-mr,HTTP模板最大重定向次数(默认:10)

28、-dr,为HTTP模板禁用重定向

29、-H,指定在所有http请求中包含的自定义header、cookie,以header:value的格式指定(cli,文件)

30、-sip,指定用于网络扫描的源IP

限速:

31、-rl,每秒最大请求量(默认:150)

32、-rlm,每分钟最大请求量

33、-bs,每个模板最大并行检测数(默认:25)

34、-c,并行执行的最大模板数量(默认:25)

35、-hbs,每个模板并行运行的无头主机最大数量(默认:10)

36、-headc,并行指定无头主机最大数量(默认:10)

优化:

37、-timeout,超时时间(默认为10秒)

38、-retries,重试次数(默认:1)

39、-ldp,指定HTTP/HTTPS默认端口(例如:host:80,host:443)

调试:

40、-debug,显示所有请求和响应

41、-dreq,显示所有请求

42、-dresp,显示所有响应

43、-p,使用http/socks5代理

44、-version,显示版本

在这里插入图片描述

45、-v / -vv,显示详细/超级详细信息

46、-hc,运行诊断检查

在这里插入图片描述

升级:

47、-up,更新Nuclei到最新版本

48、-ut,更新Nuclei模板到最新版

统计:

49、-stats,显示正在扫描的统计信息

50、-sj,将统计信息以JSONL格式输出到文件

51、-si,显示统计信息更新的间隔秒数(默认:5)

云服务:

52、-auth,配置projectdiscovery云(pdcp)API密钥

53、-cup,将扫描结果上传到pdcp仪表板


3.如何运行Nuclei

默认情况下,所有模板(nuclei-ignore 列表除外)都从默认模板安装路径执行

模板仓库

nuclei -u https://archeodata.sinica.edu.tw/

在这里插入图片描述

自定义模板目录或多个模板目录可以按如下方式执行:

nuclei -u https://example.com -t cves/ -t exposures/

在这里插入图片描述

指定单个模板进行测试:

nuclei -u https://archeodata.sinica.edu.tw/ -t ssl\deprecated-tls.yaml

在这里插入图片描述

同样,可以针对 URL 列表执行模板:

nuclei -list http_urls.txt

4.使用Nuclei结果仪表板

Nuclei 现在允许与 ProjectDiscovery 云平台无缝集成,以简化 Nuclei 结果的可视化并快速生成报告

请按照以下步骤设置 PDCP 结果仪表板:

1、访问 https://cloud.projectdiscovery.io 以创建免费的 PDCP API 密钥

在这里插入图片描述

查看API:

在这里插入图片描述

2、使用命令,在出现提示时输入您的 API 密钥。nuclei -auth

在这里插入图片描述

3、之后,要执行扫描并将结果直接上传到云端,请在运行细胞核扫描时使用该选项。-cloud-upload

例如:

nuclei -u https://convocation.apps.sinica.edu.tw/ -t cves/ -p http://127.0.0.1:7890 -cloud-upload -ms

在这里插入图片描述

4、扫描完成后,命令行界面上将显示一个 URL。请访问此 URL,在 Cloud Dashboard 上查看结果

在这里插入图片描述


5.配合自研

ProjectDiscovery 云平台 API v1 围绕 REST 进行组织。API 具有面向资源的 URL,在大多数情况下接受和返回 JSON,并且 API 使用标准的 HTTP 响应代码、身份验证和动词。这给了我们自研扫描行为很大的支持:

扫描API 文档

在这里插入图片描述


6.模板编辑器使用

Nuclei Template Editor 是一款多功能云托管工具,专为创建、运行和共享 Nuclei 模板而设计。它为寻求管理和执行模板的个人和专业用户提供了有用的功能

Nuclei Template Editor

使用方法:

1、单击“创建新模板”按钮以打开一个新的编辑器

2、编写和修改模板。编辑器利用语法突出显示、片段建议等工具来简化您的写作过程

在这里插入图片描述

3、编写完模板后,输入您的测试目标,然后单击“扫描”按钮以验证模板的准确性

在这里插入图片描述

4、也可以点击share分享你编写的模板:

在这里插入图片描述

https://cloud.projectdiscovery.io/@dahezhiquan/doCtfjTUDJpD2FzpC6arDU

5、模板快捷键

在这里插入图片描述

nuclei是一个基于Go语言编写的快速、灵活、可扩展的漏洞扫描器。它可以帮助安全研究人员快速扫描Web应用程序中的常见漏洞。以下是nuclei的一些基本用法和示例: 1. 安装nuclei 要安装nuclei,您需要先下载nuclei二进制文件。可以从以下链接中找到适用于您的操作系统和体系结构的nuclei二进制文件: https://github.com/projectdiscovery/nuclei/releases 下载后,将二进制文件移动到PATH中。 2. 使用nuclei扫描目标 要使用nuclei扫描目标,请使用以下命令: ```shell nuclei -u <target> -t <template> ``` 其中,`<target>`是您要扫描的目标URL,`<template>`指定要使用nuclei模板。例如: ```shell nuclei -u https://example.com -t cves/ -o result.txt ``` 这将扫描https://example.com,并使用cves目录中的所有模板来查找漏洞。扫描结果将保存在result.txt文件中。 3. 使用自定义模板 如果您希望使用自定义模板,则可以按照以下步骤操作: - 创建一个目录,并在其中创建一个新模板。 - 在模板中指定您要测试的漏洞和检查规则。 - 使用以下命令运行nuclei: ```shell nuclei -u <target> -t </path/to/custom/template> -o result.txt ``` 其中`</path/to/custom/template>`是您自定义模板的路径。 通过使用nuclei,您可以通过使用现有的模板或创建自己的模板来快速扫描Web应用程序中的各种漏洞。但需要注意的是,为了保证扫描的准确性,在使用nuclei时,请确保您拥有适当的授权并遵守法律法规。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

世界尽头与你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值