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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区

基于MongoDB实现文件的分布式存储

《基于MongoDB实现文件的分布式存储》分布式文件存储的方案有很多,今天分享一个基于mongodb数据库来实现文件的存储,mongodb支持分布式部署,以此来实现文件的分布式存储,需要的朋友可以参考... 目录一、引言二、GridFS 原理剖析三、Spring Boot 集成 GridFS3.1 添加依赖

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

Mysql数据库中数据的操作CRUD详解

《Mysql数据库中数据的操作CRUD详解》:本文主要介绍Mysql数据库中数据的操作(CRUD),详细描述对Mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括... 目录一、插入数据(insert)1.插入数据的语法2.注意事项二、修改数据(update)1.语法2.有