CNVD漏洞和证书挖掘经验总结
前言
本篇文章主要是分享一下本人挖掘CVND漏洞碰到的一些问题,根据过往成功归档的漏洞和未归档的漏洞总结出的经验,也确实给审核的大佬们添了很多麻烦(主要真的没人教一下,闷着头尝试犯了好很多错误,希望各位以后交一个通过一个。当然,也一定要注意测试资产的范围、尺度和授权问题)
首先是大家关注的肯定都是CNVD漏洞的收录和证书颁发的标准,这个其实在我加入到CNVD官方交流群后通过大佬们的交流发现这个规则在近几年是一直在一步步完善的,我这里只能大概说一下最近的标准,保不齐几年后规则会有些许变化。CNVD官方交流群需要挖掘三个归档的漏洞然后才能申请进群的,大佬们如果有的话可以进群关注一下群里消息,有些问题可以在群里反馈
一、事件型漏洞的收录标准
只对事业单位、政府机关、国有企业、中央企业的漏洞进行收录。当然也有一些例外,部分的 "群众性团体组织" 也会收录,但是听大佬说好像最近不收了,这个概念就很模糊,没有明确定义;有时候对事业单位和国有企业的收录也会出现问题,但是这些问题都可以通过CNVD的邮箱进行反馈,沟通问题,下面针对这两种可能出现的问题举例一下:
①有一次提交了一个事业单位的命令执行漏洞,但是该单位的名称是 "XX市物业维修基金管理中心" 看名字实在想不到这是一个事业单位,通过网上对其信息进行检索确认是事业单位,没问题,但是CNVD不认,这就很无奈。当然,也不排除我使用的网站查询的备案记录有问题
顺便补充一下,下图这类的反馈就证明该资产单位的漏洞CNVD不收,状态为 "暂不归档"
网站备案查询工具:ICP备案查询_APP及小程序备案查询 - 站长工具
②也是某一次提交事业单位的文件上传漏洞,该单位的名称是某某康复医院,同样是对该资产不进行收录,虽然医院名字比较奇怪但是资产检索也是没问题的
③再就是一些对国有企业的漏洞信息提交了,这个拒收次数还是比较多的,经过多次尝试后大概猜测可能是对国有企业的股份资产的比例和对于地方国企、大型国企也有区分判断(下面举例,佐证我的猜测,当然这个定义本身也比较模糊,没办法说百分百是这样)
我是直接百度查找该公司是否为国企的,主要看爱企查中对该公司归属的判断
二、事件型漏洞的颁发原创漏洞证明的标准
这里我就直接用CNVD官方群公告里的原话了,总结一下就是很难通过该方法获取证书,全靠运气,千万别为了一个证书给自己搭进去
涉及电信行业单位(中国移动、中国联通、中国电信及中国铁塔公司)和中央部委级别(不含直属事业单位)的高危事件型漏洞
三、通用型漏洞的收录标准
这个目前了解的单单对于收录来说,是没有什么特别的标准,只不过需要网络中确实有多个此资产,总不能自研的系统只有一个单位或者个人在用,发现漏洞上报以后也判断为通用型漏洞。在就是需要证明资产归属,确实是同一个(可以不同版本)资产且能证明该资产确实属于某某公司开发的产品。
而通用漏洞报告的证明方式是有两种的:
一种是需要对系统进行代码审计,审计出漏洞以后结合审计的代码复现漏洞然后上报。这种方法不用上报资产示例,所以可能会出现分歧,就像我上面说的一样,审核人员是会查资产的。不过个人认为这个方法是比较稳妥的,很多大佬也都是通过此类方法;
另一种是需要十例网络资产复现漏洞再进行上报。最低要求是必须有3个成功复现的案例,需要有复现的过程和结果截图,然后网络中有十例资产且至少5例能成功复现该漏洞,当然不排除审核人员复现的时候有部分示例资产漏洞无法复现的,所以能多写点还是多写点。
另外,漏洞的证明是不限制方式的,除了可以通过编写报告证明漏洞,还可以通过录制视频来证明漏洞
四、通用型漏洞的颁发原创漏洞证明的标准
这也是大部分人获取CNVD证书的方式,这里我同样借用CNVD官方群里的公告
对于中危及中危以上通用型漏洞(CVSS2.0基准评分超过4.0分)(除小厂商的产品、非重要APP、黑盒测试案例不满10起等不颁发证书)
这里只说明了除 "小厂商" 、"非重要APP" ,但并没有规定多少。目前师傅们是口口相传对于 "大厂商" 的定义是需要实际缴纳资本达到5000万,只看注册资本是不行的,但是好像有些应用比较多的系统或设备资产但没到实缴资本5000万的也会颁发证书;而对于 "重要APP" 这个定义更是没有说明,目前来看是需要看APP的下载量的。所以最终解释权还是在CNVD官方,但是他们貌似从来没有发布过明确的规定,如果有明白的大佬也请说明一下
五、漏洞编号和证书编号格式
①漏洞提交编号:CNVD-C-年份-编号(只是提交了,没有收录);
②漏洞归档编号:CNVD-年份-编号(提交并收录了);
③原创漏洞证明编号:CNVD-YCGN-编号、CNVD-YCGW-编号、CNVD-YCGS-编号
这里对于原创漏洞证明编号只是举例一下,YCGN是网络设备、YCGW是web应用、YCGS是安全产品,而CNVD收录的漏洞种类是比较多的,肯定还有其他种类,只是我没见过
六、危害级别
危害级别就相当于对漏洞进行评分,也是高中低危评判的标准,评分是从攻击途径、攻击复杂度、认证、机密性、完整性、可用性六个维度进行考量的
低危(<4分);中危(>=4分,<7分);高危(>7分)
不过这好像不完全对,我写这个文章的时候就见到了一个评分7.8分但是归到了低危里面,我也不懂为什么,只能怀疑是系统出错误了
漏洞评分达到10分的就是不需要任何认证(不需要进行登录)的远程命令执行这种漏洞,漏洞等级也是高级
七、审核速度
事件型:一般事件型漏洞审核速度是很快的,这里放一下官网给的原话。
事件型漏洞验证不超过1个工作日,通报到涉事单位时间不超过3个工作日。
事件型漏洞基本上是上午10点前提交,审核没有问题的话,晚上6点前是能归档的。而下午提交就需要等到第二天才能归档。
当然也有特殊情况,比如节假日和护网期间,护网期间以及结束后一段时间内漏洞太多了,可能会出现处理不过来,不过通常是优先处理事件型漏洞
通用型:通用型漏洞相对审核速度要慢一些,这里同样放一下官网给的原话。
通用型漏洞验证取决于复现条件,通报到厂商时间不超过5个工作日。对于处置周期,视处置难度和修复情况而定。
通用型漏洞提交后正常的话,会在三天内进行一审、二审,而三审大概在两周内,因为厂家也需要进行整改,所以有的也会长一些,可能需要一个月时间。
同样在节假日和护网期间这些特殊情况处理会慢一些,护网期间以及结束后一段时间内漏洞太多了,导致两个月甚至更长才审核完成的情况也是有的
CNVD公告地址:
https://www.cnvd.org.cn/webinfo/show/3933
成功归档后且符合漏洞证书条件,都会在下一个周的周三、周四统一制作证书并发放,也存在提前发放的先例,但是如果不是节假日,过了时间还没发很可能就是不符合条件了
个人在各个SRC平台提交漏洞的经验感觉来说,CNVD的审核和证书以及奖励发放速度应该可以算是最快的了,还是比较好的
八、荣誉值和积分
一般原创漏洞积分会在漏洞归档后1~3天内发放,大家归档以后也不用着急。而这里就是按照官方公告直接来看就可以了,简单说一下就是资产单位越厉害,漏洞危害越大分就越高,而通用漏洞会在这个基础上高一些,最少就是0.1分。这里直接附带上官方发的计算公式以及公告文件,大家可自行查看研究
CNVD公告地址:
https://www.cnvd.org.cn/webinfo/show/4815
九、报告书写模板
这里我附带一下我提交的成功归档的漏洞的报告,有需要可以参考一下(CNVD漏洞报告没有固定模板只要将需要的信息都描述清楚即可)
事件型:
通用型:
十、CNVD挖掘中的错误案例总结
①最开始尝试的时候最大的问题就是不清楚到底收录哪些资产,也是通过多次尝试以及收集资料最后总结出来,上面对于各种资产的收录问题已经提及过了
②同样是在初期尝试的时候,挖掘到的一个任意文件上传的漏洞,资产单位是没问题了,但是当时这个漏洞文件上传上去之后是没法执行命令的,而且最开始被驳回也没弄明白需要做什么就直接重新提交了然后就又被驳回了。其实到现在才想到当时可以上传其他的,比如pdf文件做一个储存型XSS漏洞,也是经验不足,浪费了一个漏洞
③这个是最搞笑的,一直重复提交-驳回-提交-驳回,一直到漏洞被修复导致无法复现故而无法归档。这是一个报错注入的漏洞,之前同类漏洞直接归档了,但是不知道这次的为什么审核一定要让我提交明确的数据库实例名。我来来回回提交了三次,第一次只写了POC和执行后的回显,第二次补充了一个用注入拿到的当前用户,第三次补充了一个注入拿到的数据库(没办法,不敢用sqlmap,也不敢多拿数据)
注意:千万不要篡改数据!千万不要非法获取数据!小心使用SQL注入漏洞!小心使用任意文件读取漏洞!
SQL注入漏洞在可能在注册或者更改信息的接口下会出现,写入脏数据或者更改原有信息的情况,所以也就要注意使用sqlmap工具;
任意文件读取漏洞可能调用的是删除文件的接口,确实会有删除文件的接口回显信息的情况,删了文件就麻烦了
④一个未授权访问漏洞,拿不到什么有用的数据,故而没有通过
⑤第一次尝试挖掘通用漏洞,本来想交一个设备弱口令,结果刚好重复了而且通过归档编号来看时间还没差很久,就想着正好进系统看看有没有后台漏洞。找到一个任意文件上传,同样是没法命令执行,只能交了一个后台储存型XSS,可惜危害太低,故而不收录
⑥也是一次对通用漏洞的尝试,好不容易找到一个漏洞,一审、二审都没问题(通常来说一审、二审也是比较好通过的,只要不重复就没什么问题),结果三审的时候需要我证明资产归属,因为我的资产信息都是从fofa中导出的,被驳回后一一核对资产,发现部分资产竟然没法证明属于上报的开发公司,没办法只能放弃
尾声
其实工作之后很少再有时间专门去各大SRC平台上挖掘并提交漏洞,最近几次提交也是在攻防演练项目中挖掘漏洞后在搜索引擎中发现其他同类资产也存在相同漏洞便提交到漏洞平台,经历了一个半月的等待也是通过了审核拿到了我的第一个CNVD证书
最后就是展示一下我在这不到一年的时间内在CNVD中挖掘漏洞的成果,虽然经历了多次失败,但也是通过这些失败总结了很多经验,希望各位大佬每天都能挖出通杀0day
相关文章:

CNVD漏洞和证书挖掘经验总结
前言 本篇文章主要是分享一下本人挖掘CVND漏洞碰到的一些问题,根据过往成功归档的漏洞和未归档的漏洞总结出的经验,也确实给审核的大佬们添了很多麻烦(主要真的没人教一下,闷着头尝试犯了好很多错误,希望各位以后交一个…...
阿里rtc旁路推流TypeScript版NODE运行
阿里云音视频服务云端录制typescript版本; 编译后可以使用 node index.js运行 package.json 版本 // npm install --save alicloud/rtc201801112.3.0 "alicloud/rtc20180111": "^2.3.0",引入 import Client, { StartCloudRecordRequest, StopCloudRecord…...
计算机书籍分享
0.简介 数据库系统概念、深入理解计算机系统、领域驱动设计、Linux高性能服务器编程 高清版本pdf 1.链接 数据库系统概念: 链接: https://pan.baidu.com/s/17zz7QFevV2Eni9qHJyLEGA 提取码: wfrx 深入理解计算机系统 链接: https://pan.baidu.com/s/19yiJG8GqHJR…...
处理ASAM-MDF格式的开源python库asammdf
asammdf是一个强大的Python库,专为处理ASAM(Association for Standardization of Automation and Measuring Systems)MDF(Measurement Data Format)文件而设计。MDF是一种用于存储测量和诊断数据的标准格式,…...
物业管理小程序开发
物业小程序的开发是一个综合性的项目,旨在提升物业管理效率和增强业主的服务体验。以下是关于物业小程序开发的一些关键方面: 一、需求分析 目标用户:识别主要用户群体,包括业主、租户、物业管理人员等。 功能需求: 物…...
【Vue】Pinia
系列文章目录 第八章 Pinia 文章目录 系列文章目录前言一、安装和配置:二、基本使用三、一个更真实的例子 前言 Pinia是Vue.js应用程序的状态管理库。它提供了一种简单,轻量级的解决方案,用于在Vue应用程序中管理和维护状态。Pinia库的特点…...

帕金森病患者的生命长度:科学管理与乐观心态是关键
在快节奏的现代生活中,健康成为了我们最宝贵的财富之一。然而,当“帕金森病”这个名词悄然进入我们的视野时,不少人心中难免会涌起一丝不安与担忧。帕金森病,作为一种常见的神经系统退行性疾病,确实给患者的日常生活带…...
详解Linux中cat命令
在 Linux 命令的世界中,cat 命令就像是一位多才多艺的艺术家,它能够将文本文件的美妙旋律编织在一起,或者单独演奏它们的每一个音符。下面,让我们以一种充满情感的方式,用 Markdown 格式来探索 cat 命令的多种用途。 …...

Mysql高级篇(中)—— SQL优化之查询截取分析
SQL优化之查询截取分析 一、慢查询日志(1)简述(2)如何开启(3)慢查询日志分析工具介绍(了解)(4)官方工具 mysqldumpslow简述如何使用 二、SHOW PROCESSLIST三、(了解&…...
企业如何制作一个官方网站?
随着实体宣传的减弱,提高线上的宣传是新式的宣传方式,那么企业搭建网站成为线上宣传的重要途径。企业如何去搭建网站呢?如何拥有一个专业的网站来展示企业文化和企业销售产品?今天我给大家带来干货:如何一步步构建自己…...

游戏开发2025年最新版——八股文面试题(unity,虚幻,cocos都适用)
1.静态合批与动态合批的原理是什么?有什么限制条件?为什么?对CPU和GPU产生的影响分别是什么? 原理:Unity运行时可以将一些物体进行合并,从而用一个描绘调用来渲染他们,就是一个drawcall批次。 限…...

如何查看线程
1、首先找到我们的电脑安装jdk的位置,这里给大家展示一下博主本人的电脑jdk路径下的jconsole位置。 2、 ok,那么找到这个jconsole程序我们直接双击打开就可以查看我们电脑的本地进程: jconsole 这里能够罗列出你系统上的 java 进程࿰…...

详细分析Spring的动态代理机制
文章目录 1. JDK动态代理和CGLIB动态代理的区别1.1 适用范围1.2 生成的代理类1.3 调用方式 2. 问题引入3. 创建工程验证 Spring 默认采用的动态代理机制3.1 引入 Maven 依赖3.2 UserController.java3.3 UserService.java3.4 UserServiceImpl.java(save方法添加了Tra…...
Redis数据类型,使用场景,事物及分布式锁
文章目录 关于Redis1.常用数据类型1.字符串(String)2.哈希(Hash)3.列表(List)4.集合(Set)5.有序集合(Sorted Set)6.位图(Bitmap)7.超日…...

目标检测系列(一)什么是目标检测
目录 一、相关名词解释 二、目标检测算法 三、目标检测模型 四、目标检测应用 五、目标检测数据集 六、目标检测常用标注工具 一、相关名词解释 关于图像识别的计算机视觉四大类任务: 分类(Classification):解决“是什么&…...

STM32CubeIDE | 使用HAL库的ADC读取内部传感器温度
1、cubemx配置 1.1、系统配置 1.2、GPIO配置 PB2设置为“GPIO_Output” user label设置为“LED” 1.3、串口配置 模式选择为“Asynchronous”,其他默认 1.4、时钟树配置 全部保持默认 2、ADC配置 通道选择“Temperature Sensor Channel”,其他默认 …...

茶思屋直播|TinyEngine+AI:聚焦主航道,在实践中探索低代码技术黑土地
低代码引擎使能开发者定制低代码平台。它是低代码平台的底座,提供可视化搭建页面等基础能力,既可以通过线上搭配组合,也可以通过cli创建个人工程进行二次开发,实时定制出自己的低代码平台。适用于多场景的低代码平台开发ÿ…...

Ansible流程控制-条件_循环_错误处理_包含导入_块异常处理
文章目录 Ansible流程控制介绍1. 条件判断2. 循环3. 循环控制4. 错误处理5. 包含和导入6. 块和异常处理7. 角色的流程控制*include_tasks、import_tasks_include之间的区别 条件语句再细说且、或、非、是模糊条件when指令的详细使用方法 循环语句再细说如何使用使用item变量结合…...
Mybatis-为什么使用Mybatis,它存在哪些优点和缺点?
优点: 基于 SQL 语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL单独写,解除SQL与程序代码的耦合,便于统⼀管理。与 JDBC 相比,减少了 50%以上的代码量,消除…...

银河麒麟高级服务器操作系统V10外接硬盘挂载指南
银河麒麟高级服务器操作系统V10外接硬盘挂载指南 1、临时挂载外接硬盘2、永久挂载外接硬盘3、总结 💖The Begin💖点点关注,收藏不迷路💖 在使用银河麒麟高级服务器操作系统V10时,您可能希望将外接硬盘(如sd…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
大数据驱动企业决策智能化的路径与实践
📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:数据驱动的企业竞争力重构 在这个瞬息万变的商业时代,“快者胜”的竞争逻辑愈发明显。企业如何在复杂环…...