Oracle注入—报错注入
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注入—报错注入的更多相关文章
- MSSQL手工注入 报错注入方法
例子:www.kfgtfcj.gov.cn/lzygg/Zixun_show.aspx?id=1[1]首先爆版本:http://www.kfgtfcj.gov.cn/lzygg/Zixun_show. ...
- SQL注入——报错注入
0x00 背景 SQL注入长期位于OWASP TOP10 榜首,对Web 安全有着很大的影响,黑客们往往在注入过程中根据错误回显进行判断,但是现在非常多的Web程序没有正常的错误回显,这样就需要我们利 ...
- sql注入 报错注入常用的三种函数
1.floor()函数 报错原因是 报错的原因是因为rand()函数在查询的时候会执行一次,插入的时候还会执行一次.这就是整个语句报错的关键 前面说过floor(rand(0)*2) 前六位是0110 ...
- ctfhub技能树—sql注入—报错注入
打开靶机 payload 1 Union select count(*),concat((查询语句),0x26,floor(rand(0)*2))x from information_schema.c ...
- 某SQL注入--报错注入payload
1.证明存在sql注入,根据这个报错语句,,有' 有% 2.payload 闭合语句 %' or (select extractvalue("anything",concat( ...
- 渗透之路基础 -- SQL进阶(盲注和报错注入)
SQL注入之盲注 实战过程中,大多情况下很少会有回显,这个时候就要去使用盲注技术 盲注,Blind SQL Injection,听这名字就感觉整个过程就是一个盲目的过程 当注入时,没有任何提示的时候, ...
- [原题复现][极客大挑战 2019]HardSQL(updatexml报错注入)
简介 原题复现: 考察知识点:SQL注入(报错注入,绕过过滤) 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台 特别感谢!) 榆林学院内可使用信安协会内部的CTF训练平 ...
- Oracle报错注入总结
0x00 前言 在oracle注入时候出现了数据库报错信息,可以优先选择报错注入,使用报错的方式将查询数据的结果带出到错误页面中. 使用报错注入需要使用类似 1=[报错语句],1>[报错语句], ...
- 大哥带我走渗透4(中)----oracle报错注入
5/30 报错注入 0x01 准备阶段 1. 基础知识今天了解了,但是,只能看懂和最基本的理解,不能自己上路.所以,还是要不停学习基础.并且及时总结.这有一篇很详细的文章:https://www.cn ...
- oracle报错注入的一些函数
oracle 报错注入 select dbms_xmltranslations.extractxliff((select banner from sys.v_$version where rownum ...
随机推荐
- Ubuntu22.04 & Win11 双系统hibernate热切换实现
Ubuntu22.04 & Win11 双系统hibernate热切换实现 目录 Ubuntu22.04 & Win11 双系统hibernate热切换实现 修改交换分区或交换文件 修 ...
- ASP.NET Core分布式项目实战(Consent Controller Get请求逻辑实现)--学习笔记
任务20:Consent Controller Get请求逻辑实现 接着上一节的思路,实现一下 ConsentController 根据流程图在构造函数注入 IClientStore,IResourc ...
- CF1822F Gardening Friends
题目链接 题解 知识点:树的直径,枚举. 考虑一个结论:树上任意点的最远点一定是树的直径的端点. 那么对于一个根节点,只要知道了树的直径,那么我们就可以立即得到最远距离,即乘 \(k\) 树的价值. ...
- NC17889 新建 Microsoft Office Word 文档
题目链接 题目 题目描述 CSL正在学习<计算机办公自动化>文件的建立与删除. CSL发现,当他新建一个word文档时,会得到一个名为"新建 Microsoft Office W ...
- 未配置Datasource时, 启动 SpringBoot 程序报错的问题
SpringBoot will show error if there is no datasource configuration in application.yml/application.pr ...
- CSS隐藏元素的方法
CSS隐藏元素的方法 使用CSS隐藏元素的主要方式有diaplay: none;.opacity: 0;.visibility: hidden;.position: absolute; overflo ...
- diffstat命令
diffstat命令 diffstat命令根据diff的比较结果,统计各文件的插入.删除.修改等差异计量. 语法 diffstat [options] [files] 参数 -c: 输出的每一行都以# ...
- win10 wsl 运行后没有反应
wsl 运行一段时间后执行没有反应, 需要重启LxssManager 管理员模式打开 powshell 找到pid, 结束pid >tasklist /svc /fi "service ...
- SuspendThread and ResumeThread
记录下,用于复现 #include <windows.h> #include <iostream> LRESULT CALLBACK WndProc(HWND hWnd, UI ...
- 面试官:你知道Comparable 和 Comparator 的区别吗?我:巴拉巴拉
写在开头 面试官:"我们在Java的集合和数据结构中都离不开比较器,请你聊一聊Comparable 和 Comparator 这两种的区别吧" 内心活动:"上来就这么直接 ...