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

相关推荐
fzb5QsS1p1 小时前
MySQL 事务的二阶段提交是什么?
数据库·mysql
清风徐来QCQ4 小时前
Lombok/SSM/devTools
数据库
LaughingZhu5 小时前
Product Hunt 每日热榜 | 2026-04-05
前端·数据库·人工智能·经验分享·神经网络
2601_949814695 小时前
使用mysql报Communications link failure异常解决
数据库·mysql
搜佛说5 小时前
02-第2章-核心概念与架构
数据库·物联网·微服务·架构·边缘计算·iot
C'ᴇsᴛ.小琳 ℡7 小时前
高性能NoSQL
数据库·nosql
chenglin0167 小时前
AI 服务企业级数据隐私与安全
网络·人工智能·安全
i220818 Faiz Ul7 小时前
动漫商城|基于springboot + vue动漫商城系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·动漫商城系统
iNgs IMAC7 小时前
redis 使用
数据库·redis·缓存
一名优秀的码农8 小时前
vulhub系列-57-Thoth Tech: 1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析