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

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

MybatisPlus中removeById删除数据库未变解决方案

《MybatisPlus中removeById删除数据库未变解决方案》MyBatisPlus中,removeById需实体类标注@TableId注解以识别数据库主键,若字段名不一致,应通过value属... 目录MyBATisPlus中removeBypythonId删除数据库未变removeById(Se

在 Spring Boot 中连接 MySQL 数据库的详细步骤

《在SpringBoot中连接MySQL数据库的详细步骤》本文介绍了SpringBoot连接MySQL数据库的流程,添加依赖、配置连接信息、创建实体类与仓库接口,通过自动配置实现数据库操作,... 目录一、添加依赖二、配置数据库连接三、创建实体类四、创建仓库接口五、创建服务类六、创建控制器七、运行应用程序八

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结