MongoDB 学习
基础知识
# 下载安装包,第二个是图形界面管理工具 https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-4.4.13.zip https://downloads.mongodb.com/compass/mongodb-compass-1.31.2-win32-x64.zip # 解压至 C:\mongodb\ 目录下 # 配置环境变量:C:\mongodb\bin # 编写配置文件,便于后续以配置文件的方式启动 MongoDB 服务,创建 C:\mongodb\mongodb.conf 文件,写入如下内容,然后保存# 系统日志相关 systemLog: destination: file # 使用文件存储日志 path: C:\mongodb\log\mongodb.log # 日志位置,创建 \log 目录 logAppend: true # 是否以追加的形式记录日志 # 数据相关 storage: journal: # 回滚日志 enabled: true dbPath: C:\mongodb\data\db # 数据存储目录,创建 \data\db 目录 # 网络配置相关 net: port: 27017 # 默认端口 bindIp: 0.0.0.0 # 绑定ip,多个ip以逗号分隔# 将 MongoDB 服务添加 Windows 的服务,以管理员的身份打开终端 mongod --config C:\mongodb\mongodb.conf --install # 在终端开启 MongoDB 服务 net start mongodb# 添加软件包 apt-get install gnupg wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add - echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list apt-get update # 最新版安装 apt-get install -y mongodb-org # 定制版安装,并锁定版本 apt-get install -y mongodb-org=4.4.13 mongodb-org-server=4.4.13 mongodb-org-shell=4.4.13 mongodb-org-mongos=4.4.13 mongodb-org-tools=4.4.13 echo "mongodb-org hold" | dpkg --set-selections echo "mongodb-org-server hold" | dpkg --set-selections echo "mongodb-org-shell hold" | dpkg --set-selections echo "mongodb-org-mongos hold" | dpkg --set-selections echo "mongodb-org-tools hold" | dpkg --set-selections # 启动 MongoDB systemctl daemon-reload systemctl start mongod systemctl status mongod systemctl enable mongod # 查看日志 cat /var/log/mongodb/mongod.log # 配置远程连接,第 24 行修改 bindIp 为 0.0.0.0 vim /etc/mongod.conf # 重启服务 systemctl restart mongod # 开启交互式shell mongo# 配置服务并设置远程连接 mongo use admin # 新建用户 db.createUser({user:"Toki",pwd:"123456",roles:[{"role":"userAdmin","db":"admin"},{"role":"root","db":"admin"},{"role":"userAdminAnyDatabase","db":"admin"}]}) # 对账号授权 db.auth("Toki","123456") # 远程登录 mongo -u Toki -p 123456 <目标机IP>:27017/admin # 账号管理命令 # 修改用户权限 db.updateUser("Toki", {roles:[{role:"readWriteAnyDatabase", db:"admin"}] }) # 修改用户密码 db.changeUserPassword("Toki","123456") # 删除用户 db.dropUser('Toki')
# 创建数据库 use <库名> # 查看当前数据库 db # 将数据插入集合 db.data.insert({"user":"Toki"}) db.data.insert({"Toki":"123"}) db.data.insert({"Toki":"456"}) # 查看数据库列表 show dbs # 查询数据 db.data.find() # 在查询数据时写入条件 db.data.find({"user":"Toki"}) # 删除数据 db.data.remove({"Toki":"456"}) db.data.find() # 删除集合 show collections db.data.drop() show collections # 删除数据库 db.dropDatabase() show dbs
在线靶场
MSF渗透Mongodb
自动化评估
NoSQLMap
整改加固建议
本地监听
限制访问源
启动基于角色的登录认证功能
Last updated