数万字总结,建议慢慢看,数据库安全之MongoDB渗透

本篇文章是MongoDB数据库信息泄露漏洞复现,记录了实际中常见的MongoDB数据库未授权访问漏洞并如何使用,主要分为七个部分:MongoDB简介、MongoDB安装、MongoDB基本操作、MongoDB相关工具使用、MongoDB漏洞复现、MongoDB实战和MongoDB防御措施。

一、MongoDB基本介绍

MongoDB是一个高性能,开源,无模式的 文档型数据库 ,是一个基于分布式文件存储的数据库,由C++编写。其中的数据以JSON格式文档的形式存储。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是当前 NoSQL 数据库产品中最热门的一种。

MongoDB默认端口号:

27017:mongod和mongos实例的默认端口。

27018:设置--shardsvr运行变量或在配置文件里设置clusterRole为shardsvr时的默认端口

术语介绍:

SQL术语/概念

MongoDB术语/概念

解释/说明

database

database

数据库

table

collection

数据库表/集合

row

document

数据记录行/文档

column

field

数据字段/域

index

index

索引

Mongodb中每个数据库含有一个或多个集合collections(相当于table)

Mongodb中每个集合含有一个或多个文档document(相当于数据行)

文档Document是一组键值对,MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。文档简单例子:

{"username":"tom","password":"tom","email":"tom@gmail.com"}

MongoDB自带数据库:

admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

local:这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合

config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

漏洞成因:

MongoDB 未配置访问认证授权 ,无需认证连接数据库后对数据库进行任意操作(未授权访问漏洞),存在严重的数据泄露风险。默认情况下MongoDB安装后,没有账号密码且未开启权限验证。但不同版本的监听地址不同,3.0之前版本默认监听在0.0.0.0,3.0及之后版本默认监听在127.0.0.1。

二、软件安装及环境搭建

1、MongoDB安装

MongoDB官网提供了32位、64位的预编译二进制包。选择最新版下载msi即可(截止到写这篇文章的时间,最新版本为4.4.5)

MongoDB下载地址:
https://www.mongodb.com/try/download/community

下载好后,拖进虚拟机,双击安装

1)选择安装类型

选择 Custom 自定义安装

2)修改MongoDB安装路径

3)服务配置

这里默认即可,Data Directory和Log Directory分别存放数据及日志文件信息

4)不勾选MongoDB Compass

在默认的安装下,该文件会自动安装。也可以不勾选 install MongoDB compass ,到官网上去安装。这里留到后面单独装。

等待片刻即可安装完成,遇到提示选择第一个即可。

2、MongoDB配置

bin目录结构

mongod.cfg 文件为Windows里的配置文件,在Linux中名字为 mongod.conf

设置允许远程连接

在 mongod.cfg 文件中将 bindIP 地址修改为 0.0.0.0 ,这样外部 IP 可以连接 MongoDB ,便于测试

# network interfaces
net:
port: 27017
bindIp: 0.0.0.0

配置环境变量

将 bin 目录配置进环境变量 C:\MongoDB\bin

测试是否配置成功,在cmd下直接输入mongo即可判断

配置文件启动

目的:将 mongodb 服务安装到 Windows 服务中,可以通过net命令进行开启和关闭

首先在 C:\MongoDB 目录下创建一个 mongodb.conf 文件(这个文件名和文件的路径随意,只要在mongodb目录下就行)

编辑该文件,配置相关信息,修改部分即可

#数据库路径
dbpath=c:\MongoDB\da
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值