未授权访问: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

相关推荐
oioihoii7 分钟前
防患未然,金仓数据库SQL防火墙筑牢数据安全“第一道门”
数据库·sql·oracle
大榕树信息科技11 分钟前
高效动环监控赋能机房环境智能管理与数据可视化
大数据·网络·数据库·人工智能·信息可视化
浅念-15 分钟前
C++ 异常
开发语言·数据结构·数据库·c++·经验分享·笔记·学习
知识分享小能手16 分钟前
Redis入门学习教程,从入门到精通,Redis服务配置知识点详解(3)
数据库·redis·学习
q54314708718 分钟前
mybatis plus打印sql日志
数据库·sql·mybatis
姜太小白23 分钟前
【SQLServer】SQL Server 2022 连接证书错误解决
网络·数据库·sqlserver
良许Linux30 分钟前
FPGA的选型和应用
数据库·图像处理·计算机视觉·fpga开发
JZC_xiaozhong41 分钟前
医疗器械行业供应商主数据管理:多视角下的破局与重构
大数据·数据库·重构·数据分析·mdm·主数据管理·数据集成与应用集成
yunyun3212343 分钟前
用Python监控系统日志并发送警报
jvm·数据库·python
V搜xhliang02461 小时前
具身机器人在实际场景中的安全保障
人工智能·安全·计算机视觉·分类·机器人·知识图谱