MongoDB未授权访问

mongodb未授权访问漏洞 复现

MongoDB[//]: # (忙够DB)是一种流行的开源文档数据库管理系统(DBMS),基于分布式文件存储的数据库属于NoSQL数据库的一种。

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

漏洞原理

未授权访问的根本原因就在于启动 Mongodb 的时候未设置 auth 无权限验证

Docker开启环境

镜像仓库中拉取漏洞镜像

plain 复制代码
docker pull mongo

利用此镜像mongo运行一个MongoDB容器,并将容器的27017端口映射到主机的27017端口容器的名称为mongodb

plain 复制代码
docker run -d -p 27017:27017 --name mongodb mongo

IP+端口访问成功

docker开启的27017端口映射在物理机的27917使用下面的命令并且管理员运行

plain 复制代码
netsh interface portproxy add v4tov4 listenport=27917 listenaddress=0.0.0.0 connectport=27017 connectaddress=172.17.0.2

MSF使用漏洞扫描模块配置相关信息就能够连接上了,看着很简单 但是我不行啊

plain 复制代码
use auxiliary/scanner/mongodb/mongodb_login

 show  options

 set rhosts  192.168.4.128

 set  threads  15

 exploit
漏洞修复
  • admin数据库中增加用户,设置复杂的密码;
  • 配置文件/etc/mongod.conf中,设置auth=true;
  • 配置文件/etc/mongod.conf中,设置bind_ip=127.0.0.1原始是0.0.0.0 代表允许其他主机连接
  • 修改默认端口27019
相关推荐
balibali8841 分钟前
网站安全,WAF网站保护暴力破解
网络安全
尘浮生1 小时前
Java项目实战II基于Spring Boot的火锅店管理系统设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·微信小程序·旅游
ccino .1 小时前
【错误描述:“L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误”】
安全·网络安全
FIN技术铺1 小时前
Redis有什么不一样?
数据库·redis·缓存
我只会Traceroute2 小时前
【渗透测试】01-信息收集-名词概念
网络·web安全·网络安全·渗透测试
Devil枫3 小时前
腾讯云云开发深度解读:云数据库、云模板与AI生成引用的魅力
数据库·人工智能·腾讯云
Kanna_STELLA3 小时前
Oracle视频基础1.1.4练习
数据库·oracle
城南云小白3 小时前
NoSQL的Redis配置
数据库·redis·nosql
dad_im_liu_lu3 小时前
当遇到 502 错误(Bad Gateway)怎么办
网络安全