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

相关推荐
我要见SA姐12 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
xcLeigh2 小时前
聊聊国产化替换:好用数据迁移工具KDMS怎么帮咱们搞定评估难
数据库·sql·数据迁移·kes·kdms
Elastic 中国社区官方博客3 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
我要见SA姐13 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
Nturmoils5 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶5 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕5 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql
码少女5 小时前
Linux--多路转接之select
java·服务器·数据库
梁辰兴5 小时前
软件工程:软件维护的副作用
数据库·软件工程·梁辰兴·控制方法·软件维护的副作用·副作用类型·副作用原因