浅析Mongodb注入

前言

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

简单介绍

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

数据库

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

集合

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

文档

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

plain 复制代码
{
  "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来进行匹配进行布尔盲注,以后要是遇到了比较特殊的注入,再进行补充......