Nuclei-快速漏洞扫描器

server/2024/11/30 15:15:24/

Nuclei_0">Nuclei-快速漏洞扫描器

声明
学习内容来自 B 站UP主泷羽sec,如涉及侵权马上删除文章。

笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。

✍🏻作者简介:致力于网络安全领域,目前作为一名学习者,很荣幸成为一名分享者,最终目标是成为一名开拓者,很有趣也十分有意义
🤵‍♂️ 个人主页: @One_Blanks
欢迎评论 💬点赞👍🏻 收藏 📂加关注+

  • 关注总部:泷羽Sec

目录

  • Nuclei-快速漏洞扫描器
      • 介绍
      • 下载
  • Nuclei-POC库5000+获取
  • Nuclei使用
      • 1. **基本命令格式**
      • 2. **运行单个模板**
      • 3. **扫描多个目标**
      • 4. **使用多个模板**
      • 5. **扫描多个目标和多个模板**
      • 6. **使用Nuclei的高级参数**
        • a. **指定扫描并发数**
        • b. **指定扫描时间**
        • c. **指定输出格式**
        • d. **扫描指定端口**
        • e. **指定请求头**
        • f. **忽略 SSL 验证**
      • 7. **更新模板**
      • 8. **过滤扫描结果**
      • 9. **扫描时指定请求方法**
      • 10. **Nuclei 结果解析**

介绍

Nuclei 是一个快速的、基于模板的漏洞扫描工具,支持多种平台,主要通过 YAML 模板 来执行各种网络漏洞扫描。它支持多种攻击类型,包括常见的 Web漏洞安全配置错误已知 CVE 漏洞 等。Nuclei 通过扫描模板来快速查找漏洞。

下载

Windows系统版安装包:

https://pan.quark.cn/s/83453b91ec89

NucleiPOC5000_29">Nuclei-POC库5000+获取

https://pan.quark.cn/s/2dd5b4c04ba1

image

Nuclei_40">Nuclei使用

1. 基本命令格式

在安装好 Nuclei 之后,可以通过命令行来运行漏洞扫描。基本的命令格式如下:

nuclei -t <template> -target <target>
  • -t <template>:指定要使用的模板(可以是单个模板、模板文件或模板目录)。
  • -target <target>:指定目标网站或 IP 地址,可以是单个目标,也可以是包含多个目标的文件。

2. 运行单个模板

假设你已经安装了 Nuclei 并下载了模板,你可以使用以下命令扫描单个目标(网站):

nuclei -t cves/2021-12345.yaml -target https://example.com
  • 该命令将使用 cves/2021-12345.yaml 这个模板扫描目标 https://example.com

3. 扫描多个目标

如果你有一个包含多个目标的文件(比如 targets.txt),你可以使用 -target 参数指定该文件。每一行可以是一个 URL 或 IP 地址。

nuclei -t cves/2021-12345.yaml -target targets.txt

4. 使用多个模板

如果你想同时使用多个模板,可以通过 -t 参数指定多个模板路径。例如:

nuclei -t cves/2021-12345.yaml -t technologies/struts.yaml -target https://example.com

你也可以通过模板目录来扫描所有模板。例如:

nuclei -t /path/to/templates/ -target https://example.com

5. 扫描多个目标和多个模板

如果你有多个目标和多个模板,想同时扫描多个目标,可以这样运行:

nuclei -t /path/to/templates/ -target /path/to/targets.txt

这会同时对多个目标应用多个模板进行扫描。

Nuclei_95">6. 使用Nuclei的高级参数

Nuclei 具有许多可自定义的参数,你可以根据需求进行调整。

a. 指定扫描并发数

可以使用 -c 参数来设置扫描的并发数,增加并发数能加速扫描,但也可能会导致过多请求被目标服务器阻止。

nuclei -t cves/2021-12345.yaml -target https://example.com -c 50
b. 指定扫描时间

你可以使用 -timeout 参数设置扫描的超时时间。例如,设置为 30 秒:

nuclei -t cves/2021-12345.yaml -target https://example.com -timeout 30
c. 指定输出格式

Nuclei 支持将扫描结果输出为不同的格式,如 jsonyamlcsvhtml。例如,输出为 JSON 格式:

nuclei -t cves/2021-12345.yaml -target https://example.com -o output.json

如果想要结果输出到文件并以 HTML 格式呈现:

nuclei -t cves/2021-12345.yaml -target https://example.com -o output.html
d. 扫描指定端口

可以通过 -p 参数指定扫描目标的端口。例如,扫描端口 80 和 443:

nuclei -t cves/2021-12345.yaml -target https://example.com -p 80,443
e. 指定请求头

有时你可能需要自定义 HTTP 请求头,可以通过 -H 参数传递。例如:

nuclei -t cves/2021-12345.yaml -target https://example.com -H "User-Agent: CustomAgent/1.0"
f. 忽略 SSL 验证

如果目标站点启用了自签名证书或者你不想检查 SSL 证书,可以使用 -ssl-verify 参数来忽略 SSL 验证:

nuclei -t cves/2021-12345.yaml -target https://example.com -ssl-verify false

7. 更新模板

Nuclei 会定期更新其漏洞模板库,可以通过以下命令来手动更新模板:

nuclei -update-templates

或者,也可以从 GitHub 上克隆 Nuclei 的模板库,手动获取最新的模板:

git clone https://github.com/projectdiscovery/nuclei-templates

8. 过滤扫描结果

Nuclei 也支持通过 -severity 参数来过滤结果,根据严重性等级进行筛选。严重性等级包括 lowmediumhighcritical

nuclei -t cves/2021-12345.yaml -target https://example.com -severity high

这只会输出严重性为 high 的漏洞。

9. 扫描时指定请求方法

默认情况下,Nuclei 使用 GET 请求进行扫描,但你也可以使用 -method 参数来指定其他 HTTP 请求方法,如 POSTPUT 等:

nuclei -t cves/2021-12345.yaml -target https://example.com -method POST

Nuclei__185">10. Nuclei 结果解析

你可以通过解析输出的文件来查看扫描结果。如果你使用 jsoncsv 格式输出,可以使用标准的工具(如 jqcatgrep)来进一步分析和筛选结果。

例如,查看 json 格式的扫描结果:

cat output.json | jq '.'

或者,如果你想过滤出具体的漏洞信息,可以使用:

cat output.json | jq '.results[] | select(.info.name=="CVE-2021-12345")'

http://www.ppmy.cn/server/146180.html

相关文章

JMeter中获取随机数、唯一ID、时间日期(包括当前日期增减)截取指定位数的字符等

在JMeter中&#xff0c;您可以使用内置的函数和一些额外的插件来获取随机数、唯一ID、时间日期以及截取指定位数的字符。以下是一些常用的方法&#xff1a; 获取随机数&#xff1a; 使用__Random函数&#xff0c;您可以在指定的最小值和最大值之间生成一个随机数。例如&#xf…

Java 中的 Lambda 表达式和 JDK 21 新特性详解

Java 中的 Lambda 表达式和 JDK 21 新特性详解 前言 Java 8 引入了 Lambda 表达式&#xff0c;极大地简化了代码编写&#xff0c;提高了开发效率。随着 JDK 21 的发布&#xff0c;Java 继续扩展和优化了 Lambda 表达式的功能&#xff0c;使其更加灵活和强大。本文将详细介绍 …

Python+Pytest+Yaml+Allure数据参数化(DDT)数据驱动(一)

我们在做数据之前要知道几个问题 1、在代码层面怎么来数据驱动 2、yaml文件是什么 3、怎么用yaml文件实现对应的数据驱动 我们用的是pytest框架所以相对来说是简单的&#xff0c;我们通过pytest框架来实现&#xff0c;而框架中要数据驱动用到我们装饰器就好啦pytest.mark.p…

开源项目:纯Python构建的中后台管理系统

来源&#xff1a;Python大数据分析 费弗里 大家好我是费老师&#xff0c;目前市面上有很多开源的「中后台管理系统」解决方案&#xff0c;复杂如「若依」那种前端基于Vue&#xff0c;后端基于Java的框架&#xff0c;虽然其提供了较为完善的一整套前后端分离权限管理系统解决方…

C++软件设计模式之组合模式与其他模式的协作举例

组合模式&#xff08;Composite Pattern&#xff09;、装饰器模式&#xff08;Decorator Pattern&#xff09;、享元模式&#xff08;Flyweight Pattern&#xff09;、迭代器模式&#xff08;Iterator Pattern&#xff09;和访问者模式&#xff08;Visitor Pattern&#xff09;…

Spark 内存管理机制

Spark 内存管理 堆内内存和堆外内存 作为一个 JVM 进程&#xff0c;Executor 的内存管理建立在 JVM(最小为六十四分之一&#xff0c;最大为四分之一)的内存管理之上&#xff0c;此外spark还引入了堆外内存&#xff08;不在JVM中的内存&#xff09;&#xff0c;在spark中是指不…

23种设计模式-工厂方法(Factory Method)设计模式

文章目录 一.什么是工厂方法设计模式&#xff1f;二. 工厂方法模式的特点三.工厂方法模式的结构四.工厂方法模式的优缺点五.工厂方法模式的 C 实现六.工厂方法模式的 Java 实现七.代码解析八.总结 类图&#xff1a; 工厂方法设计模式类图 一.什么是工厂方法设计模式&#xff1…

Matlab数字信号处理——音频信号处理与分析GUI

1.实现内容 实现功能有回响、变声、倒放、变速、音量调整、加噪、设计 FIR和 IR 滤波器实现去噪功能(高通低通带通带阻)&#xff0c;并且在时域波形图和频域波形展示变化。滤波器包括各种参数的选择、滤波器结构和类型的选择等。同时GUI上还包含打开、播放、保存、退出功能。 …