当前位置: 首页 > news >正文

广州xx策划公司MongoDB恢复-2023.09.09

2023.09.08用户的MongoDB数据库被勒索病毒攻击,数据全部被清空。


提示:

mongoDB的默认端口为27017,黑客通常通过全网段扫描27017是否开放判断是否是MongoDB服务器。一旦发现27017开放,黑客就会用空密码、弱密码尝试连接数据库。黑客登录数据库后,会删除所有数据,然后新建一个勒索信息的集合,里面写了黑客的收款方式。

注意:

黑客并没有帮用户备份数据库,因此用户按黑客要求支持赎金后,也是拿不到数据的。

删库勒索跟加密勒索有本质区别,用户数据通常很大,黑客几乎不可能通过外网传输用户的全部数据,而且如此大流量的数据传输,100%会暴露黑客地址,从而给黑客带来巨大风险。所以从来没有哪个黑客会帮用户远程备份数据。


2023.09.09下午用户联系数寻信息,寻求数据恢复服务,工程师分析后判断可以恢复数据,之后双方达成恢复协议,我们立即安排工程师进行数据恢复。

按工作量是3个工作日完成恢复,但用户非常紧急,我们决定紧急加班恢复,争取周末就为用户恢复业务。

技术方案:

针对MonogoDB的恢复方案有很多,包括:

方案一:使用wt工具对数据进行打捞
要求有WT文件,且结构完好,这时可以用bsondump提取json:

bsondump xxx.wt

生成的bson文件可用mongorestore导入到mongodb中:

mongorestore --host  --port  --db= --collection=

方案二:采用DU_MongoDB_Restore系列工具做BSON碎片抽取,此工具可以直接从磁盘中提取出所有bson碎片。
首先在linux下提取到所有bson碎片:

DU_MongoDB_Restore_Linux -s [source_dev] -d [out_bson_file]

然后在windows平台将提取到的bson文件转化为json:
生成的bson文件即可用mongorestore导入到mongodb中:

mongorestore --host  --port  --db= --collection=

在本案例中,WT文件已经被删除,且无法恢复,因此只能采用方案二作BSON碎片提取。
最终我们提取出大量json碎片,并转化为json文件,交付给用户验收:

经过工程师加班紧急支持恢复,在次日(9月10日,周日)上午10:55完成恢复,通知了用户进行远程数据验收。

相关文章:

广州xx策划公司MongoDB恢复-2023.09.09

2023.09.08用户的MongoDB数据库被勒索病毒攻击,数据全部被清空。 提示: mongoDB的默认端口为27017,黑客通常通过全网段扫描27017是否开放判断是否是MongoDB服务器。一旦发现27017开放,黑客就会用空密码、弱密码尝试连接数据库。黑…...

golang --- module-aware 模式下 包引入

一、文件列表如下 其中helloWorld目录是main包(package)所在目录,即该目录下所有的goy源文件(不包含子目录)属于main包,hello.go是mian函数所在文件 二、module-aware 模式启用 开启mod模式 go env -w G…...

从原理到实践 | Pytorch tensor 张量花式操作

文章目录 1.张量形状与维度1.1标量(0维张量):1.2 向量(1维张量):1.3矩阵(2维张量):1.4高维张量: 2. 张量其他创建方式2.1 创建全零或全一张量:2.2…...

无涯教程-JavaScript - TRANSPOSE函数

描述 TRANSPOSE函数将单元格的垂直范围作为水平范围返回,反之亦然。必须将TRANSPOSE函数作为数组公式输入,该范围必须具有与行范围和列范围相同的行和列数。 您可以使用TRANSPOSE在工作表上移动数组或范围的垂直和水平方向。 语法 TRANSPOSE (array)键入函数后,按CTRL SHI…...

Webserver项目解析

一.webserver的组成部分 Buffer类 用于存储需要读写的数据 Channel类 存储文件描述符和相应的事件,当发生事件时,调用对应的回调函数 ChannelMap类 Channel数组,用于保存一系列的Channel Dispatcher 监听器,可以设置为epo…...

Spring Cloud 篇

1、什么是SpringCloud ? Spring Cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。 2、什么…...

vim,emacs,verilog-mode这几个到底是啥关系?

vim:不多说了被各类coder誉为地表最强最好用的编辑器;gvim,gui vim的意思; emacs:也是一个编辑器,类似vscode; vim在使用的时候为了增强其功能,有好多好多插件,都是以.…...

解决npm run build 打包出现XXXX.js as it exceeds the max of 500KB.

问题描述: npm run build 时出现下面的问题: Note: The code generator has deoptimised the styling of D:\base\node_modules\_element-ui2.15.12element-ui\lib\element-ui.common.js as it exceeds the max of 500KB.在项目的根目录加粗样式下找到 …...

Java 抖音小程序SDK

抖音小程序SDK,抖音SDK 码云地址:dy-open-sdk: 字节跳动,抖音小程序sdk...

Vue.js的服务器端渲染(SSR):为什么和如何

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

Gin 打包vue或react项目输出文件到程序二进制文件

Gin 打包vue或react项目输出文件到程序二进制文件 背景解决方案1. 示例目录结构2. 有如下问题要解决:3. 方案探索 效果 背景 前后端分离已成为行业主流,vue或react等项目生成的文件独立在一个单独目录,与后端项目无关。 实际部署中,通常前面套…...

深度解析shell脚本的命令的原理之pwd

pwd是Print Working Directory的缩写,是一个Unix和Linux shell命令,用于打印当前工作目录的绝对路径。以下是对这个命令的深度解析: 获取当前工作目录:pwd命令通过调用操作系统提供的getcwd(或相应的)系统调…...

Kafka3.0.0版本——消费者(分区的分配以及再平衡)

目录 一、分区的分配以及再平衡1.1、消费者分区及消费者组的概述1.2、如何确定哪个consumer来消费哪个partition的数据1.3、消费者分区分配策略 一、分区的分配以及再平衡 1.1、消费者分区及消费者组的概述 一个consumer group中有多个consumer组成,一个 topic有多…...

Kotlin文件遍历FileTreeWalk filter

Kotlin文件遍历FileTreeWalk filter import java.io.Filefun main(args: Array<String>) {val filePath "."val file File(filePath)val fileTree: FileTreeWalk file.walk()fileTree//.maxDepth(1) //遍历层级1&#xff0c;不检查子目录.filter {it.isFile…...

Activiti兼容达梦数据库

1. 自定义类继承SpringProcessEngineConfiguration类&#xff0c;重写initDatabaseType方法。 package com.ydtf.cbda.module.cbdacim.improcess.config;import org.activiti.engine.ActivitiException; import org.activiti.spring.SpringProcessEngineConfiguration; import…...

shell 流程控制

流程控制 if条件判断 可以使用if来实现多路跳转&#xff0c;条件通常使用test命令 #if语句的语法if condition1then command1elif condition2 then command2else commandNfi 如果then需要和if放在同一行的话&#xff0c;使用;分隔 fi用来结束if语句&#xff0c;相当于…...

【C++】红黑树插入操作实现以及验证红黑树是否正确

文章目录 前言一、红黑树的插入操作1.红黑树结点的定义2.红黑树的插入1.uncle存在且为红2.uncle不存在3.uncle存在且为黑 3.完整代码 二、是否为红黑树的验证1.IsBlance函数2.CheckColor函数 三、红黑树与AVL树的比较 前言 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在…...

学信息系统项目管理师第4版系列07_项目管理知识体系

1. 项目管理原则 1.1. 勤勉、尊重和关心他人 1.1.1. 关键点 1.1.1.1. 关注组织内部和外部的职责 1.1.1.2. 坚持诚信、关心、可信、合规原则 1.1.1.3. 秉持整体观 1.1.2. 职责 1.1.2.1. 诚信 1.1.2.2. 关心 1.1.2.3. 可信 1.1.2.4. 合规 1.2. 营造协作的项目管理团队…...

Leetcode 2851. String Transformation

Leetcode 2851. String Transformation 0. 吐槽1. 算法思路 1. 整体思路2. 字符串匹配优化 2. 代码实现 题目链接&#xff1a;2851. String Transformation 0. 吐槽 这道题多少有点坑爹&#xff0c;题目本身挺有意思的&#xff0c;是一道数组题目&#xff0c;其实用数学方法…...

在PHP8中对数组进行计算-PHP8知识详解

在php8中&#xff0c;提供了丰富的计算函数&#xff0c;可以对数组进行计算操作。常见的计算函数如下几个&#xff1a;array_sum()函数、array_merge()函数、array_diff()函数、array_diff_assoc()函数、array_intersect()函数、array_intersect_assoc()函数。 1、array_sum()函…...

Android BottomSheetDialog最大展开高度问题

修改界面的时候遇到了这个问题,这个问题比较简单,网上解决方案也很多,这是 peekHeight 半展开高度,毕竟只是 dialog,全铺满就我们不必考虑 dialog 了 方法是在DialogFragment初始化dialog时处理 companion object {/*** 设置弹窗高度 默认展开无折叠情况 */ const val …...

记录Linux部署人脸修复GFPGAN项目Docker Python 使用

记录Linux 服务器使用人脸修复GFPGAN 项目 1:阿里云安装docker,用docker 是隔离环境,Python环境还真是麻烦… https://help.aliyun.com/zh/ecs/use-cases/deploy-and-use-docker-on-alibaba-cloud-linux-2-instances 2:关于docker 镜像,想找个好的镜像也是很难,百度吧,很多Li…...

如何编写可重入的函数?

编写可重入&#xff08;reentrant&#xff09;的函数是在多线程环境或并发编程中非常重要的任务。可重入函数是一种可以安全地被多个线程同时调用的函数&#xff0c;而不会导致数据竞争或不一致性的函数。在C语言中&#xff0c;编写可重入函数需要遵循一些特定的规则和技巧。本…...

使用纯C语言定义通用型数据结构的方法和示例

文章目录 前言以实现优先队列来描述实现思想基本类型的包装类型比较函数演示总结 前言 最近一段时间在复习数据结构和算法&#xff0c;用的C语言&#xff0c;不得不说&#xff0c;不学个高级语言再回头看C语言根本不知道C语言的强大和完美&#xff0c;不过相比之下也有许多不便…...

数据结构基础8:二叉树oj+层序遍历。

二叉树oj层序遍历 题目一&#xff1a;二叉树的销毁&#xff1a;方法一&#xff1a;前序遍历&#xff1a;方法二&#xff1a;后序遍历&#xff1a; 题目二&#xff1a;二叉树查找值为x的节点方法一&#xff1a;方法二&#xff1a;方法三&#xff1a; 题目三&#xff1a;层序遍历…...

Spring注解家族介绍:@RestController

前言&#xff1a; Spring Boot可以说是当前JAVA最为重要的一个框架&#xff0c;而Spring Boot的基石Spring中有着丰富的注解&#xff0c;因此我们会利用几篇文章来讲解我目前学到的各种注解&#xff0c;因此本类型文章的篇幅会比较短&#xff0c;主要着重于介绍各个注解。 目录…...

rocketmq

&#x1f353;代码仓库 https://gitee.com/xuhx615/rocket-mqdemo.git &#x1f353;基本概念 ⭐生产者(Producer)&#xff1a;消息发布者⭐主题&#xff08;Topic&#xff09;&#xff1a;topic用于标识同一类业务类型的消息⭐消息队列&#xff08;MessageQueue&#xff09…...

JAVA成员变量首字母小写,第二个字母大写报错问题(原因:Lombok与Spring冲突)

1、问题现象&#xff1a; JAVA类里定义成员变量使用首字母小写&#xff0c;第二个字母大写 Getter Setter public class BrandQueryObject extends QueryObject{private String pName; }结果页面报错&#xff0c;无法找到类型为 cn.wolfcode.ssm.query.BrandQueryObject 的对象…...

Python入门教程 |Python 错误和异常

Python3 错误和异常 作为 Python 初学者&#xff0c;在刚学习 Python 编程时&#xff0c;经常会看到一些报错信息&#xff0c;在前面我们没有提及&#xff0c;这章节我们会专门介绍。 Python 有两种错误很容易辨认&#xff1a;语法错误和异常。 Python assert&#xff08;断…...

API商品接口对接使用:从理论到实践

随着电子商务的飞速发展&#xff0c;API商品接口已成为现代电子商务应用程序不可或缺的一部分。通过API商品接口&#xff0c;开发者可以轻松地从其他应用程序或服务中获取商品信息&#xff0c;实现快速、高效的电子商务功能。本文将探讨API商品接口的概念、对接使用的方法以及一…...

wordpress 免费中文企业主题/360推广登录平台

我们在出门时&#xff0c;喜欢用微信拍视频给朋友看&#xff0c;大家可能还不知道&#xff0c;微信拍视频还能添加字幕&#xff0c;方法很简单&#xff0c;今天我就把这个技巧分享给大家。 一、短视频添加文字 1.首先打开手机上的微信&#xff0c;点击右下角的【我】&#xff…...

电子商务网站建设培训小结/临沂网站建设优化

有个统计需求&#xff0c;需要对IP进行分类统计&#xff0c;Mysql提供了INET_ATON(expr)给出一个作为字符串的网络地址的点地址表示&#xff0c;返回一个代表该地址数值的整数。地址可以是4或8比特地址。mysql> select inet_ntoa(3507806248);-----------------------| inet…...

有哪些图片设计网站有哪些问题/百度推广登录入口登录

目录PLL1和PLL1控制器PLL2和PLL2控制器CSL的使用本文主要介绍TMS320C6455的时钟相关的内容&#xff0c;参考文档为&#xff1a; SPRS276M - TMS320C6455 Fixed-Point Digital Signal ProcessorSPRUE56 - TMS320C645x DSP Software-Programmable Phase-Locked Loop (PLL) Contr…...

一个公司完整的组织架构/宁波seo网络推广

#python中的堆排序peapq模块 heapq模块实现了python中的堆排序&#xff0c;并提供了有关方法。让用Python实现排序算法有了简单快捷的方式。 heapq的官方文档和源码&#xff1a;8.4.heapq-Heap queue algorithm 下面通过举例的方式说明heapq的应用方法 ##实现堆排序 Python#! /…...

wordpress全站启用ssl/深圳营销策划公司十强

2019独角兽企业重金招聘Python工程师标准>>> KafkaOffsetMonitor 博客分类&#xff1a; MQ 1.概述 前面给大家介绍了Kafka的背景以及一些应用场景&#xff0c;并附带上演示了Kafka的简单示例。然后&#xff0c;在开发的过程当中&#xff0c;我们会发现一些问题&…...

前潮网络网站建设/网络营销的八种方式

接触React项目快两个月了&#xff0c;还在研究摸索各种知识点的过程中&#xff0c;充实且幸福。 在项目中学习新知识&#xff0c;还是很有效率的&#xff0c;一边写项目&#xff0c;一边实验新的知识点&#xff0c;比如react hooks&#xff01;嘻嘻嘻~~~ 写了好一段时间class组…...