概述MONGO-EXPRESS是一个基于Web的MongoDB管理界面,采用Node.js、Express.js和Bootstrap3开发,提供直观的图形化界面用于管理MongoDB数据库。 通过MONGO-EXPRESS,用户可以方便地执行数据库查询、管理集合、操作文档以及配置数据库参数等任务,特别适合开发环境中的快速数据库管理。 参考文档:https://xuanyuan.cloud/r/library/mongo-express环境准备Docker环境安装部署MONGO-EXPRESS前需确保服务器已安装Docker环境,推荐使用轩辕提供的一键安装脚本 登录用户名-eME_CONFIG_BASICAUTH_PASSWORD="me-password"\#MONGO-EXPRESS登录密码xxx.xuanyuan.run/library/mongo-express :latest最小权限原则创建专用MongoDB用户,仅授予MONGO-EXPRESS所需的最小权限(如readWriteAnyDatabase),避免使用root权限。
MongoDB 是一种面向文档的、介于关系型数据库和非关系型数据库的系统,Mongo-Express 则是一款图形化的 MongoDB web 客户端管理工具,使用 Node.js、Express 和 Mongo-Express 当前最新的 MongoDB 版本是 4.1.6,下面使用 Docker 简单示例下环境搭建: 启动 MongoDB,设置 root用户及密码 docker run mongodb -e MONGO_INITDB_ROOT_USERNAME=mongoadmin -e MONGO_INITDB_ROOT_PASSWORD=mongoadmin mongo:4.1.6 启动 Mongo-Express ,设置登录用户及密码 docker run -it --restart=always --name mongo-express --link mongodb:mongo-db -d -p 8081 : links: - mongo image: mongo-express restart: always ports: - 8081:8081
--------------------- 本文作者:Str1am(Timeline Sec复现组成员) 本文共597字,阅读大约需要2~3分钟 声明:请勿做非法用途,否则后果自负 0x01 简介 Mongo-express 0x03 影响版本 mongo-express < 0.54.0 0x04 环境搭建 使用docker首先搭建MongoDB数据库 docker run --name MyMongo -d mongo :0.49 看到以下信息即可说明搭建成功 访问本机8081端口,可以看到Mongo-express界面 当然也可以直接使用vulhub git clone https://github.com /vulhub/vulhub.git cd vulhub/mongo-express/CVE-2019-10758 docker-compose up -d 0x05 漏洞复现 使用网上Poc curl /mongo-express/commit/d8c9bda46a204ecba1d35558452685cd0674e6f2
本文作者:Str1am(Timeline Sec复现组成员) 本文共597字,阅读大约需要2~3分钟 声明:请勿做非法用途,否则后果自负 0x01 简介 Mongo-express是MongoDB的数据库管理工具 0x03 影响版本 mongo-express < 0.54.0 0x04 环境搭建 使用docker首先搭建MongoDB数据库 docker run --name MyMongo -d mongo 访问本机8081端口,可以看到Mongo-express界面 ? 当然也可以直接使用vulhub git clone https://github.com/vulhub/vulhub.git cd vulhub/mongo-express/CVE-2019-10758 0x06 修复方式 升级至0.54.0以上版本 参考链接: https://forum.90sec.com/t/topic/685 https://github.com/mongo-express/mongo-express
使用docker-compose部署mongo和mongo-express docker-compose.yml version: '3.8' # 使用外部网络 # docker network create /data:/data/db networks: - server_web-network mongo-express: image: mongo-express root:123456@docker-mongo:27017/ networks: - server_web-network 启动服务 docker-compose up -d 访问mongo-express
使用 mongo-express 管理mongodb mongo-express是MongoDB的一个可视化图形管理工具,这里我们还是通过docker来运行一个mongo-express,来管理上面创建的 下载 mongo-express 镜像 sudo docker pull docker.io/mongo-express 启动 mongo-express 服务 sudo docker run -it --rm -p 8081:8081 --link <mongoDB容器ID>:mongo mongo-express 访问 mongo-express 通过浏览器访问 http://<宿主机IP地址>:
示例:创建 Mongo 服务(细节见文末附录 2),创建 Mongo-Express 服务连通 Mongo 服务 apiVersion: apps/v1 kind: Deployment metadata : name: mongo-express labels: environment: dev service: mongo-express spec: selector: matchLabels: environment: dev web: mongo-express strategy: type: Recreate template : - image: registry.docker-cn.com/library/mongo-express name: mongo-express ports 示例:通过 NodePort 暴露 Mongo-Express 服务 kind: Service apiVersion: v1 metadata: name: mongo-express-service
docker-compose 负责实现对Docker容器集群的快速编排 案例: 编写配置文件: docker-compose.yml # docker-compose.yml mongo + mongo-express version: '3.1' services: mongo: image: mongo restart: always ports: - 27017:27017 mongo-express : image: mongo-express restart: always ports: - 8081:8081 运行: docker-compose up
environment: MONGO_INITDB_ROOT_USERNAME: admin # 账号 MONGO_INITDB_ROOT_PASSWORD: 123456 # 密码 mongo-express : #如果不需要MongoDB的网页端,以下内容可以不加 image: mongo-express restart: always ports: - 8081:8081
data:/data --privileged=true --name myredis -d myredis 安装MongoDB 下载镜像 docker pull mongo docker pull mongo-express 27017:27017 -v $PWD/data:/data/db -d mongo 启动web访问容器 docker run --link mymongo:mongo -p 8081:8081 mongo-express /data:/data/db mongo-express: links: - mongo image: mongo-express ports
logging: driver: "json-file" options: max-size: "200k" max-file: "10" mongo-express : image: mongo-express container_name: mongo-express ports: - 27018:8081 environment
systemd 启动; mongo shell 的使用:https://docs.mongodb.com/manual/mongo/ Mongodb web管理界面:https://github.com/mongo-express /mongo-express Mongodb 使用教程:https://www.runoob.com/mongodb/ mongodb go客户端教程:https://docs.mongodb.com
下载web管理界面镜像 docker pull mongo-express ? 关联Mongo容器 docker run --link test-mongo:mongo -p 8082:8081 mongo-express ?
数据目录 mongo-config 配置文件目录 ---- docker配置启动运行Mongo Express docker run -d \ -p 8002:8081 \ --name mongo-express \ mongo-express ---- docker配置启动运行Redis docker run -d \ -p 6379:6379 \ -v redis-data:/data \
二、安装mongo-express 在之前的文章Crawlab 支持Nodejs脚本执行 - 腾讯云开发者社区-腾讯云 (tencent.com) 里面安装支持nodejs的crawlab多方法基础上 ,我们添加一个mongo-express镜像,用户查看数据库变化。 crawlab/mongo/data/db:/data/db" # 持久化 mo ngo 数据 ports: - "27017:27017" # 开放 mongo 端口到宿主机 mongo-express : image: mongo-express:0.49.0 restart: always environment: ME_CONFIG_MONGODB_SERVER: "mongo
mongo:4 docker ps # 查看mongoDB运行日志 docker logs mongoDB Mongo Express是一个基于网络的MongoDB数据库管理界面 docker pull mongo-express # 运行mongo-express docker run --link mongoDB:mongo -p 8081:8081 mongo-express docker ps 浏览器输入ip:8081,
value: root - name: ME_CONFIG_MONGODB_ADMINPASSWORD value: example - name: mongo-express image: mongo-express bindings: - port: 8081 containerPort: 8081 protocol bindings: - containerPort: 27017 connectionString: 'mongodb://${host}:${port}' - name: mongo-express image: mongo-express bindings: - port: 8081 containerPort: 8081 protocol
认证远程代码执行漏洞 (CVE-2019-10758) 漏洞细节:mongo-express远程代码执行漏洞(CVE-2019-10758) 链接:https://www.seebug.org/vuldb /ssvid-98116 Mongo-express 是一个基于 Node.js 和 express 的开源的 MongoDB Web 管理界面。 mongo-express <= 0.53.0 版本存在认证远程代码执行漏洞。 /mongo-express 0 Arbitrary File Read1 Code Execution2 Command Execution3 Denial Of service4 _check(dork='mongo-express='): return False user = self.get_option('user')
mongo:4 docker ps #查看容器状态 docker logs mymongo #查看日志 mongoExpress 的使用 基于网络的mongoDB数据库管理页面 docker pull mongo-express docker run --link mymongo:mongo -p 8081:8081 mongo-express 浏览器访问http://ip:8081 即可 mongo Shell客户端 是一个用来操作
下载地址:https://mongolime.com/,也可以在手机App商店下载 13、Mongo-express 基于Web的MongoDB管理工具,使用Node.js,Express和Bootstrap3 下载地址:https://github.com/mongo-express/mongo-express 总结:以上10个MongoDB管理工具,Robomongo是用的最多的,也是最好用的,后面被收购,