HTB-Mongod(MongoDb数据库)

2024-08-30 00:52
文章标签 数据库 mongodb htb mongod

本文主要是介绍HTB-Mongod(MongoDb数据库),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

  • 各位师傅大家好,我是qmx_07,今天给大家讲解Mongod靶场

在这里插入图片描述

Mongod

渗透过程

RustScan

  • 介绍:Rustscan是一款用Rust语言开发的高速端口扫描器,它可以在3秒内扫描所有65535个端口,并支持脚本引擎和自适应学习功能,并且可以和nmap进行联动
  • 可以简单理解成 多线程的nmap扫描器

RustScan安装

1.创建文件夹
mkdir Rustscan //创建文件夹
cd rustscan //切换 方便存储扫描器2.下载扫描器deb包
wget https://github.com/RustScan/RustScan/releases/download/2.0.1/rustscan_2.0.1_amd64.deb3.安装
sudo dpkg -i rustscan_2.0.1_amd64.deb4.验证安装
rustscan -V5.解决依赖关系
sudo apt update
sudo apt install -f
### RustScan命令操作手册
--accessible        可访问模式。关闭对屏幕阅读器有负面影响的功能。
-g, --greppable     Greppable 模式,仅输出端口。无 Nmap,适用于 grep 或输出到文件。
-h, --help          显示帮助信息。
-n, --no-config     是否忽略配置文件。--top           使用前 1000 个端口。
-V, --version       显示版本信息。-a, --addresses <addresses>...   要扫描的 CIDR、IP 或主机的逗号分隔列表。
-b, --batch-size <batch-size>    端口扫描的批量大小,它会增加或减慢扫描速度。取决于您的操作系统的最大文件句柄数。如果您使用 65535,它将同时扫描所有端口。但是,您的操作系统可能不支持此操作。[默认值:4500]-p, --ports <ports>...           要扫描的端口列表。示例:80、443、8080
-r, --range <range>              端口范围,格式为 start-end。示例:1-1000--scan-order <scan-order>    要执行的扫描顺序。"serial" 选项将按升序扫描端口而"random" 选项将随机扫描端口。[默认值:serial][选项值:Serial、Random]
--scripts <scripts>              RustScan 运行所需的脚本级别。[默认值:default] [选项值:None、Default、Custom]
-t, --timeout <timeout>      在假定端口已关闭之前的超时时间(以毫秒为单位) [默认值:1500]--tries  <tries>          在假定端口已关闭之前的尝试次数。如果设置为 0rustscan 将将其更正为 1[默认值:1]
-u, --ulimit <ulimit>            自动将 ULIMIT 增加到您提供的值。

端口扫描 版本搜集

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 通过rustscan 进行全端口扫描,查看开放端口,再联动 nmap版本扫描
  • 发现对方开启了ssh,mongdb数据库
  • 思路:尝试ssh爆破,或者mongdb数据库爆破

Mongo 工具

安装以及工具语法:

1.下载mongo压缩包
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.7.tgz
2.解压缩
tar xvf mongodb-linux-x86_64-3.4.7.tgz
3.切换到Mongo主文件夹cd mongodb-linux-x86_64-3.4.7/bin
4.工具连接./mongo mongodb://{target_IP}:27017

尝试连接MongoDb数据库

在这里插入图片描述

  • 通过空密码连接到数据库
    在这里插入图片描述
  • 显示出所有数据库
    在这里插入图片描述
  • 显示出数据库里的集合: show collections;

在这里插入图片描述

  • db 数据库
  • flag 集合
  • find() 查找文档
  • pretty() 格式化输出
  • 这个语法 用于格式化输出集合中的内容,更方便观看
    -flag:1b6e6fb359e7c40241b6d431427ba6ea

知识点讲解

MongoDb数据库介绍

  • MongoDb数据库 和前文讲的redis数据库 都是非关系型数据库
  • MongoDB 将数据存储为一个文档,数据结构由键值(key=>value),组成,MongoDB 文档类似于 JSON 对象,字段值可以包含其他文档、数组、文档数组
    在这里插入图片描述
    命令介绍:
创建数据库:use database_name,如果有直接拿来用,没有会自动创建 use yichen删除数据库:db.dropDatabase()  先 use 再删除创建集合(相当于 mysql 中的表):db.createCollection('hack')删除集合:db.hack.drop()查看集合用的是:show tables 或者 show collections插入数据:db.yichen.insert({'name':'yichen'})

在这里插入图片描述

  • 数据库匹配规则,查看数据

答案

1.请问服务器开放了多少个端口?

2

  1. 27017端口系统版本是多少?

MongoDB 3.6.8

3.MongoDb数据库是什么数据库?

非关系型数据库

4.连接MongoDb数据库的工具是什么?

mongo

5.在MongoDb数据库中 怎么查看所有库?(不用加;)

show dbs

6.在MongoDb数据库中怎么查看所有集合?(不用加;)

show collections

7.在MongoDb数据库中flag集合 怎么查看数据?

db.flag.find().pretty()

8.flag是多少?

1b6e6fb359e7c40241b6d431427ba6ea

总结

  • 本篇文章介绍了MongoDb数据库,基本命令,连接方式,以及渗透思路,RustScan工具的使用,下期见!

这篇关于HTB-Mongod(MongoDb数据库)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119335

相关文章

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们