首页 > 数据库 >浅析Mongodb注入

浅析Mongodb注入

时间:2024-11-06 18:46:58浏览次数:3  
标签:NAME Mongodb 数据库 db COLLECTION 文档 浅析 注入

前言

不太会Mongodb的用法,这里学习一下

简单介绍

Mongodb是非关系型数据库(NoSQL),在 MySQL 中,我们所熟知的几个最常见的概念是数据库 (Database)、表 (Table)、字段 (Column)、记录 (Record)、索引 (Index),这些术语映射到 Mongodb 中大概等价于数据库 (Database)、集合 (Collection)、域 (Field)、文档 (Document)、索引 (Index)。

数据库

没啥说的,跟Mysql数据库一个道理,里面存放着若干个集合

集合

文档组,里面存放着若干个文档,类似于表,表中有若干条记录

文档

一条数据,是JSON格式,MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,例如:

{
  "name": "F12",
  "age": 20,
  "status": "live",
  "group": ["handsome", "low", "nomoney"]
}

Mongodb语法

  • 创建数据库:use DATABASE_NAME ,如果存在该数据库则切换,不存在则创建该数据库
  • 查看所有数据库:show dbs
  • 删除当前数据库:db.dropDatabase()
  • 查看当前数据库:db.getName()
  • 查看数据库版本:db.version()
  • 插入数据:db.COLLECTION_NAME.insert(document)
  • 查询数据:db.COLLECTION_NAME.find(query)
  • 比较语句:$gt$lt$gte$lte

  • OR:MongoDB OR 条件语句使用了关键字 $or

  • AND:跟OR用法一样
  • limit:db.COLLECTION_NAME.find().limit(NUMBER) 指定输出的数量

  • skip:skip() 方法为跳过指定数量的数据。接受一个数字参数作为跳过的记录条数。db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

  • 注释 //
  • 转为json:tojson()

以上只是一部分例子,更多用法请自行探寻

结论

学完语法,感觉没啥研究的(,基本就是利用语法特性来进行注入,比如使用$regex来进行匹配进行布尔盲注,以后要是遇到了比较特殊的注入,再进行补充......

标签:NAME,Mongodb,数据库,db,COLLECTION,文档,浅析,注入
From: https://www.cnblogs.com/F12-blog/p/18530840

相关文章

  • 悬空标记注入详解
    原创菜鸟小新1.简介悬空标记注入(Danglingmarkupinjection)是一种技术,当由于输入过滤或其他防御措施而无法进行完全的跨站脚本攻击时,它可以用于捕获跨域数据。它可以被用来捕获其他用户可见的敏感信息,包括可用于代表用户执行未经授权操作的CSRF令牌。该技术常常被用来执行......
  • C# 使用mongodb 帮助类
    在C#中使用MongoDB,你需要安装MongoDB的C#驱动程序,通常使用MongoDB.Driver。以下是一个简单的帮助类,用于连接MongoDB数据库并执行基本的CRUD操作。首先,通过NuGet安装MongoDB.Driver:Install-PackageMongoDB.DriverusingMongoDB.Driver;usingSystem;usingSystem.Collectio......
  • 命令注入长度限制绕过
    命令注入长度限制绕过目录命令注入长度限制绕过0x1命令组装1.1字符默认顺序组装1.2反转命令1.3反序1.4自由控制顺序组装1.5命令续行0x215位可控字符下的任意命令执行0x37位可控字符下的任意命令执行0x45位可控字符下的任意命令执行0x54位可控字符下的任意命令执行0x1......
  • 【Spring IoC&DI】路径扫描,DI依赖注入
    【路径扫描】Spring注重路径,约定大于配置例如,这个路径下,Spring默认会去扫描下【com.baiye.ioc】下面所有类中加了五大注解的路径,不在这个路径下是默认不会去扫描的即:Spring默认的扫描路径是——启动类所在的目录及其子目录但,当启动类放到Service包中时,扫描路径就变成了......
  • SQL注入学习
    SQL基本语言概述访问和处理数据库的语言,结构化查询语言能让我们有能力访问数据库ANSI标准计算机语言可以与数据库程序协同工作由于各种各样的数据库出现,导致很多不同版本的SQL语言为了与ANSI标准相兼容它们必须以相似的方式共同地来支持一些主要的关键词比如SEL......
  • Docker安装MongoDB详解(mongo.latest)
    一、MongoDB介绍MongoDB是一种基于分布式文件存储的数据库,使用C++语言开发,旨在为Web应用提供可扩展且高性能的数据存储解决方案。作为一种介于关系数据库和非关系数据库之间的技术,MongoDB具有强大的功能和高效的性能,特别适用于处理海量的非结构化数据。MongoDB的核心概念与特......
  • dotNet 整合 Microsoft.Extensions.DependencyInjection 利用反射实现依赖批量注入
    前言框架.net8.0Microsoft.Extensions.DependencyInjection8.0创建三个类库项目ConfigServicesLogServicesMailServices创建一个控制台项目ConsoleAppMailConfigServicesnamespaceConfigServices.IService{publicinterfaceIConfigService{......
  • Zabbix低权限SQL注入至RCE+权限绕过
    Zabbix低权限SQL注入至RCE+权限绕过,可惜没找到关于传webshell的好方法,如有大神告知,感激万分!本文中所有代码以及后续更新都会放在我的github仓库中:https://github.com/W01fh4cker/CVE-2024-22120-RCE一、漏洞环境搭建1.1下载vmware镜像并设置源码地址:https://cdn.zabb......
  • SQL注入其他情况
    宽字节注入当某字符的大小为两个字节时,被称为宽字节。宽字节注入是利用数据库在处理GBK等宽字节编码时的特性,通过特定的输入绕过过滤。当发现网站对敏感字符进行转义过滤,且数据库使用的是gbk编码GBK双字节编码:一个汉字用两个字节表示,首字节对应0x81-0xFE,尾字节对应0x40-0xFE......
  • 【DUBBO】dubbo超时处理机制浅析
    在RPC调用过程中,由于网络或服务端等不可靠,我们常常会收到Timeout异常。这是因为RPC框架为避免长时间等待导致客户端资源(线程)耗尽,都会提供设置超时时间的属性。在Dubbo中,使用timeout这个属性来给某个服务调用设置超时间(默认1s),如果服务在设置的超时时间内未返回结果,则会抛......