如何查看Docker中mongodb的内容?

1 背景

最近在尝试做 starCTF 中的 oh-my-bet,需要使用 CRLF 来控制 FTP 向 mongodb 中发送数据包来修改 mongodb 中的内容。需要通过查看 mongodb 中的内容来确定是否修改成功。

Docker-compose 文件中的配置如下:

使用命令 docker-compose up -d 启动 Web 服务之后

我们可以看见 docker 中的 mongo 并没有和本地的端口进行绑定,所以不能直接使用 localhost 进行连接。

使用 ifconfig 命令可以看到 mongo 启动的主机和宿主机位于同一个局域网。

我猜测可以直接使用局域网的 IP 和端口进行连接

2 kali 安装 mongodb

添加公钥

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

创建列表文件

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

重新加载包数据库

sudo apt-get update

安装 mongodb

sudo apt-get install -y mongodb-org

安装 mongodb。自定义版本

sudo apt-get install -y mongodb-org=4.2.3 mongodb-org-server=4.2.3 mongodb-org-shell=4.2.3 mongodb-org-mongos=4.2.3 mongodb-org-tools=4.2.3

3 连接mongo并查看数据

连接 mongodb

mongo --host 172.20.0.5 --port 27017

查看数据

-- 列出数据库
show dbs;
-- 使用 admin 
use admin;
-- 列出集合(表)
show tables;
-- 查询集合 sessions 的所有内容
dbs.sessions.find().pretty()

猜你喜欢

转载自blog.csdn.net/qq_43085611/article/details/113746914