ORACLE数据库的检测
一、需要检测的内容
ORACLE的检测中,需要检测数据库用户、权限、敏感表、包和过程,在有权限的情况下可以检测ORACLE数据库用户的密码散列,尝试破解。
在检测过程中,首先需要检测数据库版本,然后需要检测3个重要的系统表和当前用户权限,最后在检测对其它表的访问权限等。
二、检测方法
数据库版本的检测
版本检测包括数据库版本、PL/SQL版本、CORE版本、TNS版本、NLSRTL版本,检测语句为:
select * FROM (select*FROM(select*FROM(select*FROM v$version ORDER BY 1ASC)where
ROWNUM(select count(*) from dba_users)
and 0(select count(*) from user_users)
如果页面返回正常,就说明有权限进行检测。
其中dba_users是存放所有用户的表,user_users只存放当前用户的相关信息。他们的表结构几乎相同,只是在user_users中不存在PASSWORD列,没有存放用户密码散列。
以下就以dba_users的检测为例说明检测用户信息的方法。
需要检测的内容有:用户数据量、用户名,密码(加密)、是否可远程连接、用户组。
首先检测用户数据量:
And 52>=ascii(substr((select count (*) FROM dba_users),1,1))
确定数据量的第一位,改变dba_users),1,1中的数字,例如改变为dba_users),2,1,可以检测数据量的第二位。
当检测完数据量之后,就可以检测其它数据了。
检测用户名:
首先判断第一个用户名的长度
0(select count(*) from dba_objects)
这里有个分歧,如果全部检测,ORACLE有4万多个对象,速度上可能带来很大影响,如果只检测重要的内容,当ORACLE漏洞出现在没有预料的范围中时,就无法检测到,只有修改软件代码。如果全部检测,只在漏洞库中说明一下就能做到。还有一个方法,比较可行,就是列出所有的过程和包的名字,让用户去选择探测哪些包和过程,返回探测结果。
全部检测中,需要检测过程和包等的拥有者,名称,类型3个项目。
需要一个个检测,然后将检测内容列出来。例如存在以下的包:
UTL_HTTP
UTL_HTT_LIB
UTL_XML
UTL_TCP
如果需要检测UTL_HTTP,可以通过以下方法:
首先确定它是否可以访问(是否有权限访问、是否存在等):
and 0(select count(*) from dba_objects where OBJECT_NAME=’UTL_HTTP’)
如果页面返回正常,就可以确定有访问权限,所以在此基础上就可以探测其他信息了,它们包括拥有者名称、类型两个项目。
这里需要注意的一个问题是,OBJECT_NAME列不是唯一性的,例如里面存在两个UTL_HTTP,所以在定位的时候要格外精确。在确定数据过程中,没有找到一个合适的方法从不唯一数据中区分它们,所以现在只能做到简单探测是否有权访问,不能精确到具体权限名称。折中的做法是先规定好相关的权限名称,然后依次对应,例如里面的权限有SYS、PUBLIC,可以通过如下语句进行访问:
and 0(select count(*) from dba_objects where OBJECT_NAME=’UTL_HTTP’ and OWNER=’SYS’)
如果存在SYS的所有者,就返回正常页面,不存在就返回错误页面。
user_objects的检测方法是一样的。
数据库表检测
在检测数据库表前首先需要检测3个主要的系统表是否有权限访问,他们是:
all_tables,user_tables和user_tab_columns。
检测方法:
and 0(select count(*) from all_tables)
如果可以访问,返回页面正常,不能访问,返回页面不正常。
当确定完这3个系统表的访问权限之后,就可以对数据库表进行猜解。其中all_tables中放置的是当前用户所有可访问表,user_tables中放置的是当前用户表,猜解方法完全相同,就是user_tables中缺少了当前用户可访问的系统表。
以user_tables为例:
首先要确定其中的数据量
猜解数据表量的第一位:
And 52=ascii(substr((select count (*) FROM USER_TABLES),1,1))
在确定完数据量之后,要判断第一个表的长度
And 0
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
甲骨文自治数据库亮相 带来云计算新希望
早前甲骨文还不在云计算公司之列,而现在该公司正在迅速弥补其失去的时间。甲骨文的云计算核心是甲骨文自治数据库(O […]
-
2017年12月数据库流行度排行榜 定格岁末排名瞬间
数据库知识网站DB-engines最近更新的2017年12月份数据库流行度排名情况是否能提供更多的看点呢?TechTarget数据库网站将与您分享12月份的榜单排名情况,让我们拭目以待。
-
2017年11月数据库流行度排行榜 半数以上数据库积分减少
数据库知识网站DB-engines更新了2016年11月份的数据库流行度排行榜。TechTarget数据库网站将与您一同关注11月份的榜单排名情况。
-
控制合约 不再畏惧Oracle
许多公司都与Oracle有无限制授权协议,他们害怕离开这个协议,所以就证明他们在使用Oracle的软件,即使因为需求单独购买部分授权许可也可能总体是省钱的。