Oracle注入—报错注入

1、Oracle报错注入知识扫盲


一、Oracle报错注入知识扫盲

  报错注入

  报错注入就是,输入的一些能让数据库出错的语句,数据库会把这个错误回显给我们

  OK,,什么语句能让数据库出错???

  先来个知识扫盲吧

  Oracle数据库

  Dual表,是Oracle数据库里的一个表,Dual是一个实表,也有人说是虚表,如果直接查询这个表格,它只显示一个X,列名DUMMY,那么要他有什么用呢?

  它实际上是为了满足查询语句的结构而产生

  比如 select 1,2,3,4   >>>>     数据库报错

  Why   数据库有很多种,虽然很多种,但是在语法结构上是大同小异的,可以说大致相似,但又用区别,不完全相同

  像,select 1,2,3,4  在MySQL数据库就是可以执行的   但是在Oracle数据库就不行,因为规定后面要 from 表名

  没有 from 表名  当然会出错了

  但是在注入的时候又不知道表名,不会又像Access数据库那样一个一个去猜吧,,

  这个Oracle数据库相对来说比较友好,,在每个Oracle数据库里都有一个Dual表,那是不是就不用猜了

  所以Dual表存在的意义就是满足sql语句的

  Oracle数据库弱化了库的概念,强化了用户的概念

  在Oracle里把用户来当做库的区分,简单理解,一个用户就是一个库

  Oracle数据库的比较常用语法

  查询用户名:select user from Dual

  做加减法:select 9+1 FROM Dual   >>>   10

  select * from all_tables 查询出所有的表

  select * from user_tables 查询当前用户的表

  select * from  all_tab_columns 查询出所有字段

  select * from user_tab_columns 查询当前用户的字段

  select * from v$version 查版本

  rownum=1 限制查询返回的总行数为一条

  对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,以此类推,这个伪字段可以用于限制查询返回的总行数

  可以用rownum<3来要求它输出2条数据

  只有1可以写=  rownum=1

  其他的只能写<  rownum<2

  rownum<3

  rownum<4

  ......

  <>  不等于符号

  很多时候网站只允许输出一条数据,即使你遍历整个表,但是只能输出第一条数据,怎么办呢,,如何做到像,,MySQL数据库里的limit那样灵活呢

  先看一个语句

  select ronum r ,username form admin

  思考一下输出的是不是一张表的呢,网站只是输出表里的数据,并不会把表给我们看,网站是查询表里的内容,但是在后台,它确实是一张表

  ok,,那么我们可不可以form它呢   ,,of course

  select username form (select rownum r ,username form admin) where rownum=1

  再来看一个函数

  CTXSYS.DRITHSX.SN(用户(查询内容))

  这个函数就是报错注入使用的函数

  在括号里面输入注入语句

  返回报错信息,很简单,怎么讲呢,,你就想像这个是一个搜索框,搜索什么东西都搜不到,并告诉你没搜到括号里的值,并且会把括号里的值会返回给我们,

  上面是帮助我们理解的 ,,其实是这样的‘查询对应的关键词,因为查询失败,爆出未查询到错误从而爆出查询内容,为什么会查询失败呢?,这个用户没用创建和修改的权限,我们随便输入一个用户名,在系统里大概率不会存在的用户,当然没有权限了,你想想,连这个用户都没有哪里来的权限呢’

  举个例子

  CTXSYS.DRITHSX.SN(1(select 1,2 form dual))

  >>>  '1,2'查找不到

  大概就是这个意思

  

  

Oracle注入—报错注入的更多相关文章

  1. MSSQL手工注入 报错注入方法

    例子:www.kfgtfcj.gov.cn/lzygg/Zixun_show.aspx?id=1[1]首先爆版本:http://www.kfgtfcj.gov.cn/lzygg/Zixun_show. ...

  2. SQL注入——报错注入

    0x00 背景 SQL注入长期位于OWASP TOP10 榜首,对Web 安全有着很大的影响,黑客们往往在注入过程中根据错误回显进行判断,但是现在非常多的Web程序没有正常的错误回显,这样就需要我们利 ...

  3. sql注入 报错注入常用的三种函数

    1.floor()函数 报错原因是 报错的原因是因为rand()函数在查询的时候会执行一次,插入的时候还会执行一次.这就是整个语句报错的关键 前面说过floor(rand(0)*2) 前六位是0110 ...

  4. ctfhub技能树—sql注入—报错注入

    打开靶机 payload 1 Union select count(*),concat((查询语句),0x26,floor(rand(0)*2))x from information_schema.c ...

  5. 某SQL注入--报错注入payload

    1.证明存在sql注入,根据这个报错语句,,有'  有% 2.payload  闭合语句 %' or (select extractvalue("anything",concat( ...

  6. 渗透之路基础 -- SQL进阶(盲注和报错注入)

    SQL注入之盲注 实战过程中,大多情况下很少会有回显,这个时候就要去使用盲注技术 盲注,Blind SQL Injection,听这名字就感觉整个过程就是一个盲目的过程 当注入时,没有任何提示的时候, ...

  7. [原题复现][极客大挑战 2019]HardSQL(updatexml报错注入)

    简介  原题复现:  考察知识点:SQL注入(报错注入,绕过过滤)  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台 特别感谢!) 榆林学院内可使用信安协会内部的CTF训练平 ...

  8. Oracle报错注入总结

    0x00 前言 在oracle注入时候出现了数据库报错信息,可以优先选择报错注入,使用报错的方式将查询数据的结果带出到错误页面中. 使用报错注入需要使用类似 1=[报错语句],1>[报错语句], ...

  9. 大哥带我走渗透4(中)----oracle报错注入

    5/30 报错注入 0x01 准备阶段 1. 基础知识今天了解了,但是,只能看懂和最基本的理解,不能自己上路.所以,还是要不停学习基础.并且及时总结.这有一篇很详细的文章:https://www.cn ...

  10. oracle报错注入的一些函数

    oracle 报错注入 select dbms_xmltranslations.extractxliff((select banner from sys.v_$version where rownum ...

随机推荐

  1. ARKit的理解与使用

    AR概述 AR的意义:让虚拟世界套与现实世界建立联系,并可以进行互动. AR的技术实现:通过实时地计算摄影机输出影像的位置及角度,并在内部通过算法识别将场景中的事物,然后在内部模拟的三维坐标系中给识别 ...

  2. Delphi dbgrideh颜色设置

    DBGridEh中分行分列.单元格的颜色设置(1)分行不同颜色设置:在DBGridEh1DrawColumnCell中写: if ADOQuery1.RecNo mod 2=0 then begin ...

  3. Go语言的100个错误使用场景(30-40)|数据类型与字符串使用

    目录 前言 4. 控制结构 4.1 忽视元素在range循环中是拷贝(#30) 4.2 忽略在 range 循环中如何评估表达式(#31) 4.3 忽略在 range 中使用指针元素的影响(#32) ...

  4. 好书推荐之《JAVA编程思想》

    名人推荐 真是一本透着编程思想的书. 上面的书让你从微观角度了解 Java,而这本书则可以让你从一个宏观角度了解 Java. 这本书和 Java 核心技术的厚度差不多,但这本书的信息密度比较大. 所以 ...

  5. 从零开始的微信小程序入门教程(三),有趣且好玩的数据绑定

    壹 ❀ 引 我在从零开始的微信小程序入门教程(二),初识WXML与WXSS一文中简单介绍了小程序组件与小程序样式相关概念,在了解这两者之后,其实我们已经可以搭建出简单的静态页面,与书写HTML页面一样 ...

  6. NC213912 芭芭拉冲鸭~(续)

    题目链接 题目 题目描述 芭芭拉这次来到了一棵字母树,这同样是一棵无根树,每个节点上面有一个小写字母. 芭芭拉想知道,自己从x冲刺到y,从x走到y收集所有字母,选择其中一部分字母组成一个回文串,这个回 ...

  7. Vue DevTools 安装和浏览器跳转到编辑器指定组件

    Vue DevTools install and Open component in editor 1.在谷歌浏览器安装vue 插件 1.1下载vue插件 链接:https://pan.baidu.c ...

  8. IPFS的配置记录

    IPFS 分布式文件系统, 原理类似于bt, 通过文件分块, 每个块对应CID以及各级Hash做存储和校验, 通过DHT(Distributed Hash Table)做查找和路由. IPFS文档 h ...

  9. Auxiliary Set题解

    F Auxiliary Set 树上LCA + DFS 注意一下输出格式! #include<bits/stdc++.h> using namespace std; const int N ...

  10. 深入理解Go语言(01): interface源码分析

    分析接口的赋值,反射,断言的实现原理 版本:golang v1.12 interface底层使用2个struct表示的:eface和iface 一:接口类型分为2个 1. 空接口 //比如 var i ...