Mongodb未授权访问漏洞【原理扫描】
扫描出来的如下:
详细描述 | MongoDB是用C++编写的开源文档数据库。 |
解决办法 | 方法一: |
测试:
只输入ip,不输入用户名密码即可链接进入
执行:
use admin
show dbs
无授权情况下,返回了所有db列表
实际操作:
先登陆进去,修改admin密码
docker exec -it mongodb405 mongo admin
db.changeUserPassword("admin","xxxxx")
原来的container创建如下:
docker run -p 27017:27017 -v /data/mongodb405/data/:/data/db --name mongodb405 -d mongo:4.0.5
修改加入--auth参数:
docker run -p 27017:27017 -v /data/mongodb405/data/:/data/db --restart always --name mongodb405 -d mongo:4.0.5 mongod --auth
再次登陆测试:
docker exec -it mongodb405 mongo admin
use admin
show dbs
会提示错误:
"errmsg" : "command listDatabases requires authentication",
"code" : 13,
"codeName" : "Unauthorized"
执行:
db.auth("admin","xxxxx")
返回1成功
use admin
show dbs
返回所有DB列表则为成功