MongoDB未授权访问

漏洞简介

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

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

漏洞复现

环境介绍

目标靶机: Kali 
ip地址: 192.168.18.128 
连接工具:Xshell

环境搭建 

这里使用docker (https://www.runoob.com/docker/docker-tutorial.html 可自行Google)

docker search mongodb  # 从Docker Hub查找镜像

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

docker images mongo #列出本地主机上的mongo镜像

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

普通检测 

这里使用 NoSQLBooster 

下载地址:https://nosqlbooster.com/downloads

nmap检测

nmap -p 27017 --script mongodb-info <target> 
地址:http://nmap.org/svn/scripts/mongodb-info.nse

防御手段 

  • 为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。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FLy_鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值