类别 | 描述 |
未授权访问漏洞 | MongoDB默认情况下不设置认证机制,导致未授权用户可以通过默认端口对数据库进行任意操作(增、删、改、查)。 |
数据泄露风险 | 由于未配置访问控制,攻击者可以远程访问数据库并获取敏感信息。 |
版本差异 | 3.0之前版本的MongoDB默认监听在0.0.0.0,3.0及之后版本默认监听在127.0.0.1。 |
漏洞成因
(图片来源网络,侵删)
原因 | 解释 |
默认无权限验证 | 安装后没有账号密码且未开启权限验证。 |
默认监听地址 | 3.0之前版本默认监听在0.0.0.0,3.0及之后版本默认监听在127.0.0.1。 |
缺乏安全配置 | 启动时未添加--auth参数,也很少给数据库添加账号密码。 |
漏洞利用
步骤 | 方法 |
环境搭建 | 使用Docker或其他方式安装MongoDB。 |
连接数据库 | 使用mongo shell工具连接数据库:mongo --host 目标ip --port 目标端口 。 |
查看信息 | 执行命令查看用户、数据库等信息。 |
创建管理员 | 切换到admin库并创建系统用户管理员账号。 |
登录系统 | 通过ssh直接登录系统,完成利用。 |
防御措施
方案 | 具体措施 |
本地监听 | 如MongoDB只需本地使用,建议只在本地开启监听服务:mongod --bind_ip 127.0.0.1 。 |
限制访问源 | 仅对内网服务器提供服务,通过防火墙限制访问源IP。 |
基于角色的认证 | 启动基于角色的登录认证功能,使用--auth参数或配置文件启动MongoDB。 |
禁用HTTP接口 | MongoDB自带一个HTTP服务和REST接口,默认关闭,建议禁用这些接口以减少攻击面。 |
MongoDB的未授权访问漏洞主要由于默认无权限验证和不当的配置引起,通过采取适当的安全措施,可以有效防止此类漏洞带来的安全隐患。
(图片来源网络,侵删)
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/61557.html