Mongodb注入
0x01 Brief Description
作为nosql(not only sql)数据库的一种,mongodb很强大,很多企业也在用到。相对于sql数据库,nosql数据库有以下优点:简单便捷、方便拓展、更好的性能
0x02 Produce the vulnerability
漏洞环境搭建:
kali2.0搭建的环境apt-get install mongodb,注意最好用aliyun的源,之前用的中科大的源,没有找到下载。
安装完成之后开启服务,见下图:

环境的搭建原型来自这里:
http://bobao.360.cn/learning/detail/2839.html
mongdb的配置见下图

上图中可以看到mongodb默认是绑定到127.0.0.1,也就是说只允许本地访问,如果想要允许其它ip连接,只需要注释掉改行(不推荐,这样会导致未授权访问安全问题)。
关于mongodb开启认证以及创建角色的相关内容可以参考慕课网上的视频Mongodb安全
服务的开启
service mongodb start
查看数据库
show dbs
查看集合
show collections
查看集合中的元素
db.collectionname.find()
数据的CURD就不细述了,最终的数据如下图所示:

GUI连接推荐使用mongovue,显示比较友好。

web端代码(记得安装mongodb模块 apt-get install php5-mongo)
<?php
echo "param is id :)";
if(!empty($_GET['id']))
{
$m = new MongoClient();
$id = $_GET['id'];
if ($id=="1")
{
echo "You Can't access Admin's Account";
}
else
{
$db = $m->securitytest;
$collection = $db->users;
$qry = array("id"=> $_GET['id']);
$cursor = $collection->find($qry);
foreach($cursor as $document)
{
echo "<br>";
echo "Username:".$document["username"]."<br>";
echo "Password:".$document["password"]."<br>";
echo "<br>"; } } }
题解:
打开页面如下图所示,知道这里的参数是id

这个时候输入参数id=1,提示不允许访问

输入参数id=3 显示如下:

然后我们知道mongodb有这样一个关键字 ne 就是not equal的意思
Syntax: {field: {$ne: value} }
$ne selects the documents where the value of the field is not equal (i.e. !=) to the specified value. This includes documents that do not contain the field.
like this

就是查询到了id不为1的数据
那在这里呢,我们就可以这样构造进行注入:
http://192.168.247.132/inj.php?id[$ne]=2

Flag get!
当然还可以继续爆出collections和dbs,可参考这里:https://www.secpulse.com/archives/3278.html
此外还应该注意nosql数据库的未授权访问的问题,常见的nosql数据库及端口

0x03 Reference
相关学习视频:
http://www.imooc.com/video/5933
mongodb的中文文档:
http://docs.mongoing.com/manual-zh/
black nosql injection 视频后半部分
https://www.youtube.com/watch?v=ZYiTLZGK4AQ
Mongodb注入的更多相关文章
- 2019-10-31:渗透测试,基础学习,mongodb注入学习
mongodb命令删除文档,db.集合名.remove({键:值})更新文档,db.集合名.update({被更新的对象},{$set:{要更新的内容}}),默认只更新检测到的第一条文档更新全部匹配到 ...
- 【转】MongoDB资料汇总专题
1.MongoDB是什么 MongoDB介绍PPT分享 MongoDB GridFS介绍PPT两则 初识 MongoDB GridFS MongoDB GridFS 介绍 一个NoSQL与MongoD ...
- MongoDB资料汇总专题[转发]
转发下..这个哥收集的很全 MongoDB资料汇总专题 作者:nosqlfan http://blog.nosqlfan.com/html/3548.html 最后更新时间:2013-04-22 1. ...
- MongoDB+php7搭建
0x00前言: 今天一位非计算机专业的朋友问我怎么打开.bson文件,我第一反应.bson文件是什么,网上查了下是mongodb的传输文件.也就是类似于mysql的.sql文件一样 之前看过mongo ...
- MongoDB资料汇总专题
原文地址:http://bbs.chinaunix.net/thread-3675396-1-1.html 上一篇Redis资料汇总专题很受大家欢迎,这里将MongoDB的系列资料也进行了简单整理.希 ...
- MongoDB资料汇总(转)
原文:MongoDB资料汇总 上一篇Redis资料汇总专题很受大家欢迎,这里将MongoDB的系列资料也进行了简单整理.希望能对大家有用. 最后更新时间:2013-04-22 1.MongoDB是什么 ...
- MongoDB资料汇总专题(转)
原文地址:http://blog.nosqlfan.com/html/3548.html 1.MongoDB是什么 MongoDB介绍PPT分享 MongoDB GridFS介绍PPT两则 初识 Mo ...
- SQL注入 基础学习
SQL注入学习笔记 注入原理 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有 ...
- nginx配合modsecurity实现WAF功能
一.准备工作 系统:centos 7.2 64位.nginx1.10.2, modsecurity2.9.1 owasp3.0 1.nginx:http://nginx.org/download/ng ...
随机推荐
- 【English】20190416
anti-money laundering反洗钱[ˈænti][ˈlɔːndərɪŋ] misconduct不当行为[ˌmɪsˈkɑːndʌkt] Currently, she is focus ...
- 文本分类实战(七)—— Adversarial LSTM模型
1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...
- UIGestureRecognizer - BNR
继续上篇UITouch - BNR.该篇将实现线条选择.移动和删除操作. UIGestureRecognizer有一系列子类,每一个子类都用于识别特定的手势.当识别出一个手势时,手势识别器会拦截视图的 ...
- HTML多图无缝循环翻页效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 全局css控制<td>标签属性
td { text-align: center; /*设置水平居中*/ vertical-align: middle; /*设置垂直居中*/ height:50px; / ...
- JAVA多线程-实现同步
一.什么是线程安全问题 当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题.但是做读操作是不会发生数据冲突问题. 二.如何解决线程安全问题 1)如何 ...
- object.observe被废弃了怎么办
用新的 Proxy 具体见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy
- spring中设计模式
MVC模式 Model:pojo.数据库交互(业务数据和业务逻辑) View:Jsp(与用户交互页面) Controller:控制器(接收请求并决定调用哪个模块组件去处理请求,然后决定调用哪个视图(通 ...
- MongoDB和pymongo的CURD
一.mongodb 1.介绍 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之 ...
- 金融量化之Tushare模块
一.介绍 Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据,为他们 ...