Nuclei-快速漏洞扫描器
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
Nuclei-POC库5000+获取
https://pan.quark.cn/s/2dd5b4c04ba1
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
这会同时对多个目标应用多个模板进行扫描。
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 支持将扫描结果输出为不同的格式,如 json
、yaml
、csv
或 html
。例如,输出为 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
参数来过滤结果,根据严重性等级进行筛选。严重性等级包括 low
、medium
、high
、critical
。
nuclei -t cves/2021-12345.yaml -target https://example.com -severity high
这只会输出严重性为 high
的漏洞。
9. 扫描时指定请求方法
默认情况下,Nuclei 使用 GET
请求进行扫描,但你也可以使用 -method
参数来指定其他 HTTP 请求方法,如 POST
、PUT
等:
nuclei -t cves/2021-12345.yaml -target https://example.com -method POST
10. Nuclei 结果解析
你可以通过解析输出的文件来查看扫描结果。如果你使用 json
或 csv
格式输出,可以使用标准的工具(如 jq
、cat
、grep
)来进一步分析和筛选结果。
例如,查看 json
格式的扫描结果:
cat output.json | jq '.'
或者,如果你想过滤出具体的漏洞信息,可以使用:
cat output.json | jq '.results[] | select(.info.name=="CVE-2021-12345")'
相关文章:

Nuclei-快速漏洞扫描器
Nuclei-快速漏洞扫描器 声明 学习内容来自 B 站UP主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 ✍Ἷ…...

linux网络抓包工具
linux网络抓包工具 一、tcpdump1.1 基本用法1.2 龙芯平台实例操作 二、wireshark2.1 主要功能2.2 龙芯平台实例操作 一、tcpdump tcpdump 指令可列出经过指定网络界面的数据包文件头,可以将网络中传送的数据包的 “头” 完全截获下来提供分析。它支持针对网络层、协…...

详解桥接模式
引言 在开发过程中,可能会遇到系统设计有多种维度变化的情况,比如我们想画一幅五彩斑斓的画,需要用到12个颜色,但是需要粗细不同的线条(粗、中、细),如果用蜡笔,就需要粗中细三种蜡笔…...

探索AI新世界!热门工具与学习资源免费获取
抖知书老师推荐: 人工智能技术的迅速发展让人们既充满期待又有些迷茫。有人担忧被AI技术取代,有人却积极拥抱这场科技浪潮。无论你处于哪种心态,人工智能已经深入到我们生活的方方面面。如果你希望轻松掌握最新的AI工具与动态,…...

vue3项目搭建-6-axios 基础配置
axios 基础配置 安装 axios npm install axios 创建 axios 实例,配置基地址,配置拦截器,目录:utils/http.js 基地址:在每次访问时,自动作为相对路径的根 // axios 基础封装 import axios from "axios";…...

Django 视图层
from django.shortcuts import render, HttpResponse, redirectfrom django.http import JsonResponse1. render: 渲染模板 def index(request):print(reverse(index))return render(request, "index.html")return render(request, index.html, context{name: lisi})…...
代理IP与百度在信息时代的交互
目录 一、代理IP的基本概念和工作原理 二、代理IP在百度搜索中的多重作用 解决网络延时问题,提高搜索速度 提高网络安全 隐藏用户的真实IP地址,保护个人隐私 突破访问限制,拓宽网络视野 三、代理IP在百度关键词排名优化中的应用 模拟…...

1、Three.js开端准备环境
准备工作 从 CDN 导入 1.安装 VSCode 2.安装 Node.js 3.查看Three.js最新版本 4.如何cdn引入: https://cdn.jsdelivr.net/npm/threev版本号/build/three.module.js 例如:https://cdn.jsdelivr.net/npm/threev0.170.0/build/three.module.js 我们需要…...

什么是Batch Normalization?
一、概念 Batch Normalization是在2015年提出的数据归一化方法,主要用在深度神经网络中激活层之前。它的主要作用是加快模型训练时的收敛速度,使模型训练过程更加稳定,避免梯度爆炸或消失,并起到一定的正则化作用,有时…...

十四(AJAX)、AJAX、axios、常用请求方法(GET POST...)、HTTP协议、接口文档、form-serialize
1. AJAX介绍及axios基本使用 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content&q…...
vue2怎么写computed属性
在Vue 2中,computed属性是基于它们的响应式依赖进行缓存的计算属性。只有当计算属性依赖的响应式数据发生变化时,计算属性才会重新计算。以下是如何在Vue 2中定义computed属性的步骤: 定义响应式数据:首先,你需要在组件…...

【从零开始的LeetCode-算法】35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2示例 2: 输入: …...

vscode + conda + qt联合开发
安装vscode 安装conda 清华大学开源软件镜像(Anaconda下载)_清华大学镜像-CSDN博客 conda create新建一个环境,激活这个环境,然后安装pyside6 pip install pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple 安装成功后输入 pip list查看是否安装…...

技术总结(四十三)
1 索引介绍 1.1 什么时MySQL的索引 MySQL官方对于索引的定义:索引是帮助MySQL高效获取数据的数据结构。 MySQL在存储数据之外,数据库系统中还维护着满足特定查找算法的数据结构,这些数据结构以某种引用(指向)表中的数据,这样我们就可以通…...

mac终端自定义命令打开vscode
1.打开终端配置文件 open -e ~/.bash_profile终端安装了zsh,那么配置文件是.zshrc(打开zsh配置,这里举🌰使用zsh) sudo open -e ~/.zshrc 2.在zshrc配置文件中添加新的脚本(这里的code就是快捷命令可以进…...
代码设计:设计模式:应对变化
文章目录 概述1.拆分代码2.解耦3.扩展总结概述 代码的设计模式主要为了应对变化 三种代码设计中应对变化的方式 1.拆分代码 2.解耦 3.扩展 1.拆分代码 减小变化对代码的影响 需要拆分代码的几种情况 1.类或方法的代码量巨大,导致代码可读性降低 2.存在复杂的代码,如…...

Proteus中添加新元件库
手上村:本来打算在Proteus中设计充电电路,发现软件自带的元器件库中没有我想要充电芯片。因此,看了其他大神的导入新的元器件步骤,建立自己的元器件库!自己也来记录一波!话不多说,赶紧上菜&…...
Hive学习基本概念
基本概念 hive是什么? Facebook 开源,用于解决海量结构化日志的数据统计。 基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能 本质是将HQL转化为MapReduce程序。 Hive处理的数据存储在H…...
运维工程师.云计算工程师面试题.考试题
《(全国)运维自动化阶段第1套卷》 卷面总分 题号 单选题 90 题分 得分 一、单选题(每题2分,共计70分;得分____) 1. 下面哪个选项可以做变量名称?( ) A、if B、123abc C、for D、User_Name 2. 哪种数据类型可以做增,删,改相关操作?( ) A、字符串 B、列表 C、元…...

四、初识C语言(4)
一、作业:static修饰局部变量 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <string.h> //作业:static修饰局部变量 int sum (int a) {int c 0;static int b 3;c 1;b 2;return (abc); } int main() {int i 0;int a …...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...