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

相关文章

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

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

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

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

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

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

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

IDEA连接达梦数据库的详细配置指南

《IDEA连接达梦数据库的详细配置指南》达梦数据库(DMDatabase)作为国产关系型数据库的代表,广泛应用于企业级系统开发,本文将详细介绍如何在IntelliJIDEA中配置并连接达梦数据库,助力... 目录准备工作1. 下载达梦JDBC驱动配置步骤1. 将驱动添加到IDEA2. 创建数据库连接连接参数

Jmeter如何向数据库批量插入数据

《Jmeter如何向数据库批量插入数据》:本文主要介绍Jmeter如何向数据库批量插入数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Jmeter向数据库批量插入数据Jmeter向mysql数据库中插入数据的入门操作接下来做一下各个元件的配置总结Jmete