未授权访问:MongoDB未授权访问漏洞

目录

1、漏洞原理

2、环境搭建

3、未授权访问

防御手段


今天继续学习各种未授权访问的知识和相关的实操实验,一共有好多篇,内容主要是参考先知社区的一位大佬的关于未授权访问的好文章,还有其他大佬总结好的文章:

这里附上大佬的好文章链接:常见未授权访问漏洞总结 - 先知社区

我在这只是学习大佬总结好的相关的知识和实操实验,那么废话不多说,开整。

第二篇是关于MongoDB的未授权访问

1、漏洞原理

开启MongoDB服务时不添加任何参数时,默认是没有权限验证的, 登录的用户可以通过默认端口无需密码对数据库任意操作(增、删、改、查高危动作)而且可以远程访问数据库。

  造成未授权访问的根本原因就在于启动 Mongodb 的时候未设置 --auth 也很少会有人会给数据库添加上账号密码(默认空口令),使用默认空口令这将导致恶意攻击者无需进行账号认证就可以登陆到数据服务器。

2、环境搭建

首先我们就是需要搭建一下漏洞环境

环境配置:

复制代码
攻击机:Kali 192.168.159.151 / windos 192.168.159.1
 
服务器:ubuntu 192.168.159.202

这里使用docker搭建环境

docker安装可以参考:Docker: 改变容器化世界的革命性技术-CSDN博客

复制代码
docker pull mongo  #从镜像仓库中拉取或者更新指定镜像

复制代码
docker images mongo #列出本地主机上的mongo镜像

复制代码
docker run -d -p 27017:27017 --name mongodb mongo  # 创建一个新的容器并运行一个命令
docker ps -a # 显示所有的容器,包括未运行的

3、未授权访问

这里使用 NoSQLBooster

下载地址:​​​​​​https://s3.mongobooster.com/download/releasesv5/nosqlbooster4mongo-5.1.12.exe

然后输入信息尝试进行连接:

可以看到在没有输入任何密码的时候测试连接成功了

防御手段

  • -为MongoDB添加认证:MongoDB启动时添加--auth参数、为MongoDB添加用户
  • -MongoDB 自身带有一个HTTP服务和并支持REST接口。在2.6以后这些接口默认是关闭的。mongoDB默认会使用默认端口监听web服务,一般不需要通过web方式进行远程管理,建议禁用。修改配置文件或在启动的时候选择 --nohttpinterface 参数 nohttpinterface=false
  • -启动时加入参数--bind_ip 127.0.0.1 或在/etc/mongodb.conf文件中添加以下内容:bind_ip = 127.0.0.1

相关推荐
发量惊人的中年网工3 小时前
工业视觉云边 AI 推理总是卡顿?SD-WAN 打通边缘算力互联
网络·人工智能·网络安全·云计算
小果因子实验室3 小时前
策略研究--qmt实现新股自动申购卖出策略
数据库
Darling噜啦啦3 小时前
从零实战Milvus向量数据库:用RAG打造你的AI日记助手
数据库
淼澄研学4 小时前
PyTorch深度学习实战:5个核心方法从0到1构建神经网络
前端·数据库·python
脑子进水养啥鱼?4 小时前
where id > ‘5‘ 的查询 sql 查不到 id = ‘10‘ 的数据?
数据库·sql·postgresql
吴声子夜歌4 小时前
MongoDB 4.2——分片简介
数据库·mongodb
腾渊信息科技公司4 小时前
工业时序数据存储选型实战:从PostgreSQL到TDengine,查询从15秒到200ms
数据库·postgresql·tdengine
TDengine (老段)4 小时前
TDengine Node.js 与 C# 连接器 — Web 服务与 .NET 集成
大数据·数据库·node.js·c#·.net·时序数据库·tdengine
l1t4 小时前
PostgreSQL 11–18 中的 SQL 改进:个人精选-1
数据库·sql·postgresql
云祺vinchin5 小时前
IT行业数据备份实例:安全备份+秒级恢复
安全·数据备份·数据归档·容灾备份