手把手教你CNVD漏洞挖掘 + 资产收集
0x1 前言
挖掘CNVD漏洞有时候其实比一般的edusrc还好挖,但是一般要挖证书的话,还是需要花时间的,其中信息收集,公司资产确定等操作需要花费一定时间的。下面就记录下我之前跟一个师傅学习的一个垂直越权成功的CNVD漏洞通杀(仅作为思路分享)。
0x2 信息收集——github
简介
在漏洞挖掘的过程前期我们进行信息收集,github和码云搜索相关的信息,代码库,运气好的话可以在库中发现一些重要配置如数据库用户密码等。
这里先给师傅们分享一下手工github搜索语法:
-
in:name baidu #标题搜索含有关键字baidu -
in:descripton baidu #仓库描述搜索含有关键字 -
in:readme baidu #Readme文件搜素含有关键字 -
stars:>3000 baidu #stars数量大于3000的搜索关键字 -
stars:1000..3000 baidu #stars数量大于1000小于3000的搜索关键字 -
forks:>1000 baidu #forks数量大于1000的搜索关键字 -
forks:1000..3000 baidu #forks数量大于1000小于3000的搜索关键字 -
size:>=5000 baidu #指定仓库大于5000k(5M)的搜索关键字 -
pushed:>2019-02-12 baidu #发布时间大于2019-02-12的搜索关键字 -
created:>2019-02-12 baidu #创建时间大于2019-02-12的搜索关键字 -
user:name #用户名搜素 -
license:apache-2.0 baidu #明确仓库的 LICENSE 搜索关键字 -
language:java baidu #在java语言的代码中搜索关键字 -
user:baidu in:name baidu #组合搜索,用户名baidu的标题含有baidu的 -
等等..
然后再给师傅们分享下github官方文档:GitHub检索文档

自动化工具——GitDorker
GitDorker工具下载GitDorker是一款github自动信息收集工具,它利用 GitHub 搜索 API 和作者从各种来源编译的大量 GitHub dorks 列表,以提供给定搜索查询的 github 上存储的敏感信息的概述。

挖掘泄漏方法:
可以从域名开始找比如: xxx.com 我们就使用github.com 等平台等搜索语法对包含xxx.com进行搜索,再一一进行逐个排查或者直接使用上方等自动化工具,直接跑也可以。
高危案例:
某某某.com 存在敏感信息泄露,数据库用户名密码等泄露

通过查看库内文件找到了 数据库配置等信息

0x3 资产收集
首先这里我先确定这个公司的资产信息,可以使用网上一些免费的企业查询在线网站,比如爱企查、企查查、风鸟等在线免费的企业信息查询网站。
下面可以看到该公司的基本信息以及重要的注册资本资金,但是现在对于要拿漏洞证书的通用型漏洞来说,需要实缴资本大于5000万,下面这个公司就符合。


像这里面的系统都是可以进行测试的,一般都是可以利用空间搜素引擎进行检索,然后去挨个找漏洞,找到了就可以再去利用搜素引擎进行检索关键字进行模糊匹配,然后打个通杀漏洞,就可以拿到CNVD漏洞证书了。

FOFA检索
下面就是利用FOFA进行检索目标网站了,这里利用空间引擎进行检索的时候,很容易打偏,因为资产网站很多,所以检索语法需要进行多测试,对关键字进行模糊匹配
下面直接检索仓库管理系统

这里需要主要的是这里FOFA还给我们整理了icon图标,可以找对应的icon,然后也是同一系统,然后也是可以打一个通杀的

也可以利用FOFA检索出来的系统名称进行一个漏洞测试,测试出来都是一个系统,也是很大概率会碰倒通杀漏洞的,提交CNVD也是可以拿到一个漏洞报送证书的

下面就检索有关Vue相关的icon网站

vue是一个用于创建用户界面的开源JavaScript框架,也是一个创建单页应用的Web应用框架。他的图标长这样,绿色的一个V,如果以后看到这样一个图标,这就是vue框架了:

0x4 漏洞猎杀
漏洞一:弱口令漏洞
这里随便点开一个网站,然后进行测试
这里可以看到里面有管理员登录,那么看到账号密码登录框以及管管理员登录,首先就要尝试下弱口令以及尝试下sql万能密码,看看能不能进去。

这里我还是运气蛮好的,直接弱口令admin:admin就直接登录进去了
进去以后,那么就可以尝试在网站后台进行测试其他的漏洞了

漏洞二:垂直越权漏洞
然后师傅们可以退出登录后台页面,来到开始的登录页面
可以看到这里有管理员登录、学生登录以及还可以注册学生,那么我们这里是不是可以尝试打一个垂直越权呢?

接下来我们先注册一个学生用户,前面我们已经把这个网站的管理员账号密码给弄出来了

然后先拿学生账号去登录,再利用bp抓包,看看登录成功和登录失败的返回包的区别
可以看到下面是登录成功的数据包,记录下这个登录成功的返回包code为0,且有token值
-
{ -
"code":0, -
"token":"1u40ivkgvpvtc1dd2l663zdu249e132z" -
}

然后下面再使用管理员的账号密码去登录,且是利用bp看他的登录失败的数据包
然后再使用bp的Comparer功能去对比两个数据包

可以看到利用admin管理员登录失败的数据包如下,看到这个数据包,师傅们可以尝试改下msg,里面的内容改成succes,以及把code里面的内容改成0试试。
-
{ -
"msg":"账号或密码不正确", -
"code":500 -
}
下面是学生用户登录成功和管理员登录失败的数据包对比如下:

-
管理员数据包:POST /users/login?username=admin&password=12345 HTTP/1.1 -
普通学生用户数据包:POST /xuesheng/login?username=pass&password=123456 HTTP/1.1
直接先抓管理员登录失败的数据包,然后修改请求包

然后再使用学生用户登录成功的数据包,发送下数据包,更新下token,然后把这个新的登录成功的返回包复制下来到上面的管理员的返回包中

然后一直放包,然后就可以直接登录成功了,这样就直接简单的垂直越权成功了,直接登录admin管理员账户了

0x5 垂直越权漏洞通杀
因为刚才的系统都是我再检索一个公司旗下的系统,所以我们可以尝试下找找这个网站的关键字然后进行模糊匹配,一般常利用JS或者网页源代码里面比较特殊的字符,然后利用空间检索引擎进行检索

我这里直接右击查看网页源代码,发现这串字符串比较特殊,不出意外的话是可以利用FOFA碰出比较多的相关网站的
-
We're sorry but mas-creator-admin doesn't work properly without JavaScript enabled. Please enable it to continue.

这里FOFA匹配出来了很多的icon图标,我们这里直接利用刚才的Vue框架进行测试

匹配出来了318条独立的IP,那么我们是不是可以像开始那样测试,开始先测试下弱口令以及SQL万能密码看看能不能登进去,然后再在登录后台进行测试下sql注入


包括使用鹰图,可以发现检索匹配成功的IP数量更加多,那么接下来我们就可以提交CNVD漏洞了,后面我这里提交了多个事件型CNVD以及通用型CNVD漏洞。

0x6 总结
对于这篇文章的思路主要是对CNVD漏洞通用型证书站的一个思路分享,其中我们在信息收集以及资产收集的时候尤为重要,也是比较难的一步,在进行使用空间检索引擎比如我们常用的FOFA、鹰图等的检索语法要常记,因为容易打偏资产,CNVD在审核的过程中就不会通过。
对于通杀漏洞,CNVD通用型的漏洞来讲我们首先需要确定资产,然后确定该资产的旗下的产品,然后有目标的去资产收集和信息收集等操作,然后去利用FOFA语法去利用关键字模糊匹配,然后确定系统去打一个通杀。
最后,希望这篇文章对师傅们有帮助!!!FOFA:https://fofa.info/
鹰图:https://hunter.qianxin.com/
quake:https://quake.360.net/quake/#/index
更多网络安全优质免费学习资料与干货教程加

送渗透工具、技术文档、书籍,面试题、视频(基础到进阶。环境搭建,HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等)、应急响应笔记、学习路线。
申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法
相关文章:
手把手教你CNVD漏洞挖掘 + 资产收集
0x1 前言 挖掘CNVD漏洞有时候其实比一般的edusrc还好挖,但是一般要挖证书的话,还是需要花时间的,其中信息收集,公司资产确定等操作需要花费一定时间的。下面就记录下我之前跟一个师傅学习的一个垂直越权成功的CNVD漏洞通杀&#…...
华为云低代码AstroZero技巧教学1:表格的超链接赋能
在低代码AstroZero的标准页面设计和构建上,我们总是在思考如何让用户体验能够更加流畅。 为此,我们特推出低代码AstroZero技巧教学系列合集,让各位开发者能够更加方便快捷地掌握低代码AstroZero的操作技巧。 本次技巧内容: 在As…...
https握手过程详解
https握手过程详解 上一篇《HTTPS通讯全过程》中https握手过程实际上还有更多的细节,为什么会这样设计呢?是因为一开始将握手过程时,吧步骤说的太详细会导致更难理解惹。所以我就先在上一篇把部分细节忽略,把原来几步的过程先简化…...
Lesson 63 Thank you, doctor
Lesson 63 Thank you, doctor 词汇 better a. 更好的 搭配:feel better get better 感觉好些了 成语:Better late than never. 晚做总比不做好。 Half a loaf is better than no bread. 有比没有好。…...
使用python和matlab实现BP神经网络算法的分析比较
分析和比较使用Python和MATLAB实现BP神经网络算法实现的复杂度、代码可读性、库支持、性能以及应用的灵活性等。 1. BP神经网络的基本原理 BP神经网络(Back Propagation Neural Network)是一种多层前馈神经网络,通过反向传播算法来训练网络。其基本思想是利用梯度下降法,…...
智慧卫生间环境传感器有哪些?智慧卫生间的特点@卓振思众
随着科技的进步和人们对生活品质的要求不断提高,智慧卫生间作为现代化设施的代表,越来越受到关注。智慧卫生间不仅仅是在外观设计上做文章,更在于其背后强大的智能系统,特别是环境传感器的应用,让厕所的管理和使用变得…...
智能分班结果自动发布系统
新学期,校园里又将迎来一批充满活力的新生。对于老师们来说,除了准备教学计划和课程内容,还有一项看似简单却颇为繁琐的任务——发布分班。传统的分班信息发布方式,通常是老师们一个个私信给学生家长,家长们收到信息后…...
vue 后台管理 指定项目别名
越多越好 文章目录 一、指定项目路径别名二、全局loading进度条实现三、动态页面标题的实现四、全局刷新 和 全屏 一、指定项目路径别名 在 vite.config.js 里配置 import path from "path"export default defineConfig({resolve:{alias:{"~":path.resol…...
【Python机器学习】FP-growth算法——构建FP树
在第二次扫描数据集时会构建一棵FP树。为构建一棵树,需要一个容器来保存树。 创建FP树的数据结构 FP树要比书中其他树更加复杂,因此需要创建一个类来保存树的每一个节点: class treeNode:def __init__(self,nameValue,numOccur,parentNode…...
JAVA itextpdf 段落自动分页指定固定行距打印
JAVA itextpdf 段落自动分页指定固定行距打印 前言:公司有个需求,打印的合同模板左上角要加上logo的图标。但是itext pdf 自动分页会按照默认的顶部高分页打印内容的,导致从第二页开始logo图标就会把合同的内容给覆盖掉了。然后尝试了挺多方法…...
基于SpringBoot+Vue的周边游平台个人管理模块的设计与实现
TOC springboot220基于SpringBootVue的周边游平台个人管理模块的设计与实现 第一章 绪论 1.1 选题背景 目前整个社会发展的速度,严重依赖于互联网,如果没有了互联网的存在,市场可能会一蹶不振,严重影响经济的发展水平…...
开源数据库同步工具monstache
Monstache是一个用Go语言编写的同步工具,主要用于将MongoDB中的数据同步到Elasticsearch中。它支持全量同步和增量同步,并提供了丰富的配置参数以及使用Go、JavaScript编写插件来自定义处理数据的逻辑的能力。Monstache 工作流程如下图: 以下…...
Ubuntu连接GitHub
报错:Please make sure you have the correct access rights and the repository exists.原因:本地没有SSH Key存在解决: 首先为系统设置github的用户名和自己的邮箱 git config --global user.name "****" git config --global us…...
微信支付流程
1. 创建订单 请求创建订单的 API 接口:把 订单金额、收货地址、订单中包含的商品信息 发送到服务器服务器响应的结果:订单编号 2.订单预支付 请求订单预支付的 API 接口:把步骤1得到的 订单编号 发送到服务器服务器响应的结果:…...
LVS理论知识
目录 1.描述以及工作原理 1.什么是LVS 2.LVS调度算法 1.静态调度算法 1.轮询RR 2.加权轮询WRR 3.目标地址hash---DH 4.源地址hash---SH 2.动态调度算法 1.LC最少连接 2.wlc加权最少连接 3.sed最少期望延迟 4.nq不排队调度算法 5.lblc基于本地最少连接 6.lnlcr带…...
uniapp接口请求this.$request
代码示例: createPhoto(url) {this.$request({url: /emp/gallery-photo/create,//后端接口method: post,//请求方法header: {//请求头tenant-id: 1,},data: {//请求参数galleryId: this.albumId,empUserId: this.empUserId,"url": url,}}).then((res) &…...
vulnhub靶机 W34KN3SS(渗透测试详解)
一、靶机信息收集 1、靶机下载地址 https://download.vulnhub.com/w34kn3ss/W34KN3SS.ova 2、扫描靶机IP 3、探测靶机端口、主机、服务版本信息 nmap -sS -sV -A -p- 192.168.31.160 4、进行目录扫描 二、web渗透测试 1、访问靶机IP 没什么发现 2、进行目录拼接访问 拼接…...
2024年8月16日嵌入式学习
今日复习信号量的知识点和学习了进程间通信和管道 总结信息量: 共享进程资源 方便 线程 抢占公共资源 带来的问题 1. 互斥访问 需要互斥锁 来保障 原子性操作 使 操作过程 完整 互斥锁: a.初始化 锁 b.加锁 //使用资源之前 …...
vue+ckEditor5 复制粘贴wold文字+图片并保存格式
第一步在vue2项目下安装 npm install --save ckeditor/ckeditor5-build-decoupled-document 第二 项目下新建一个plugins的文件夹将这个包ckeditor5-build-classic放入 (包在页面最上方 有个下载按钮 可以下载) 刚开始时 ckeditor5-build-classic文件…...
redis列表若干记录
2、列表 ziplist ziplist参数 entry结构 entry-data:节点存储的元素prelen:记录前驱节点长度encoding:当前节点编码格式encoding encoding属性 使用多个子节点存储节点元素长度,这种多字节数据存储在计算机内存中或者进行网络传输的时的字节…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
