oracle数据库的安全测试

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。针对Oracle数据库如何测试呢?

检测数据库端口是否开放



这个任务可以使用nmap来对目标IP进行测试,也可以使用其他的端口扫描工具,下面就以nmap为例,可以使用如下命令:

nmap -Pn -n -T4 --open -p1521 <target IP>

检查数据库的版本信息



得到一个存活的oracle数据库服务端口,了解数据库的版本信息非常关键,针对不同的版本会有不一样的测试方式,有不同的安全漏洞需要不同的poc来对其进行测试,所以在测试之前首先要了解数据库的版本,下面说几个方法。

1 利用msf

使用如下模块来对数据库进行版本探测:

msf > use auxiliary/scanner/oracle/tnslsnr_version

2 使用tnscmd10g

tnscmd10g是kali下的一个工具,命令如下:

tnscmd10g version -h <target IP>

tnscmd10g status -h <target IP>

通过上述命令可以得到版本信息、日志文件、跟踪信息以及端口信息

获取数据库的SID



连接oracle数据库不仅需要账号密码,而且还需要SID(SID是一个数据库的唯一标识符!是建立一个数据库时系统自动赋予的一个初始ID),所以如何获取SID是非常关键的,可以使用以下方法获取:

1 使用msf

msf下有两个模块可以完成这个操作,命令如下:

msf > use auxiliary/scanner/oracle/sid_enummsf > use auxiliary/admin/oracle/sid_brute

2 使用sidguess

sidguess是kali下的一款爆破Oracle SID的工具,命令如下:

sidguess -i <target IP> -d /home/myh0st/pass.txt

3 针对自带web管理平台

如果oracle的版本为10g,默认自带通过8080端口远程管理的可以访问以下路径:

http://<;target IP>:8080/oradb/PUBLIC/GLOBAL_NAME

枚举数据库账号密码



枚举爆破数据库连接账号密码可以使用下面的方式。

1 使用msf

使用这个模块需要指定SID,就是要在获取到SID后才能使用,使用模块如下:

msf > use auxiliary/admin/oracle/login_brute

set SID <sid>

2 使用sqlplus

sqlplus是oracle自带的数据库管理工具,可以使用以下命令登录数据库,也可以自己写脚本来枚举账号密码:

sqlplus <username>/<password>@<target IP>:<port>/<SID>

使用sql命令提权



在获取到数据库登录口令后,如何对数据库进行提权操作?可以使用msf下的两个模块,命令如下:

msf > use auxiliary/admin/oracle/sql set DBUSER <user> set DBPASS <password> set SID <sid> set SQL select * from user_role_privs

msf > use auxiliary/admin/oracle/pushin/lt_findricset_cursor set DBUSER <user> set DBPASS <password> set SID <sid> set SQL GRANT DBA TO <user> set SQL GRANT JAVASYSPRIV TO <user>

获取数据库里关键信息的sql命令



查询数据库版本:

select * from v$version;

数据库打补丁情况:

select * from dba_registry_history;

查看所有用户:

select * from all_users;

查询数据库中的所有表:

select owner,table_name from all_tables;

当前用户被激活的角色:

select * from session_roles;

描述数据库对象:

desc utl_http

原文地址:https://www.cnblogs.com/-qing-/p/10729455.html

时间: 2024-11-10 13:31:05

oracle数据库的安全测试的相关文章

15分钟搭建Linux操作系统+Oracle数据库的环境

一直想学习下Linux下Oracle数据库方面的运维,但从头安装Linux操作系统,再装Oracle数据库的过程确实非常繁琐,涉及到了很多的操作系统和数据库的配置,门槛高.最近才发现Oracle已经为我们把这些繁琐的工作都帮我们做了,方法就是Oracle VirtualBox + Oracle VM Virtual Appliances(也叫Oracle VM Templates).15分钟搭建一套Linux操作系统+Oracle数据库的开发/测试环境,不是梦. 准备工作: 1.下载并安装Ora

Oracle数据库测试和优化最佳实践: OTest介绍 (转)

当前Oracle数据库最佳测试工具OTest *  Otest是用于Oracle数据库测试.优化.监控软件. *  Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王文杰在业余时间开发,并提供支持.发送邮件到[email protected]可以获得支持和最新版本,以及申请cloud版本的key. *Otest 的临时下载地址(版本更新快,新项目上线,最好发邮件申请): 链接:http://pan.baidu.com/s/1eSD1oSq 密码:3ulm

《metasploit渗透测试魔鬼训练营》靶机演练之第五章实战案例Oracle数据库

准备一台BT5作为入侵机,一台win2003作为靶机,靶机上存在着Oracle数据库(版本为10.2.0.1.0)TNS服务的漏洞,该漏洞的编号为CVE-2009-1979. BT5: ip 10.10.10.128 win2003: ip 10.10.10.130 下面开始演练: 在网上找到了关于这一漏洞的一些介绍,metasploit里有利用这个漏洞的模块,首先search这个模块: 进入目录去查看一下这个模块的源代码,找到target,如图: 能看出用了p/p/r的溢出方式,以及不同版本需

sqoop测试oracle数据库的连接使用

测试oracle数据库的连接使用 ①连接oracle数据库,列出所有的数据库 [[email protected] sqoop]$sqoop list-databases--connect jdbc 10.1.69.173:1521:ORCLBI --username huangq -P或者sqoop list-databases--connect jdbc racle:thin10.1.69.173:1521:ORCLBI --username huangq--password 123456

ESQL查询之简单的Oracle数据库查询测试

操作Oracle数据库跟前边例子中操作其他数据库一样,同样是非常轻松的,略有不同的是SQL语法上的微小区别 查询 <ESql module=test id=datas><![CDATA[ Select STTP,STNM,STCD,PHCD from ST_STBPRP_B where rownum<=30 ]]></ESql> 定制显示字段名 <tr> <for end=0 [email protected]{datas:getWidth}&g

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性 作者:赵全文  网名:guestart 我们生产环境的Oracle数据库都做了RMAN备份,是采用了一周的RMAN备份保留策略:除了使用RMAN备份以外,我们还使用了爱数(Eisoo)备份软件来进行备份,可以说是做到了有备无患.可是,如果有一天,Oracle数据库由于主机层面硬件原因或是数据库层面的原因不能对外提供高可用服务的时候,假设数据丢了一大部分,我们只有用RMAN备份来进行恢复,再如果发现,RMAN备份失效了,那就往地缝里

Oracle数据库语句大全

转自:http://blog.sina.com.cn/s/blog_b5d14e2a0101c56z.html ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHECK (检查)--检查在约束中指定的条件是否得到了满足. UNIQUE (唯一)--保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的. PRIMARY KEY (主键)--用来唯一的标识出表的每

谈谈Oracle 数据库的系统权限UNLIMITED TABLESPACE

作者:赵全文 网名:guest 前日上午,开发同学反馈,应用程序在连接一套Oracle 11.2.0.4.0数据库的生产用户时,一直报"无操作表空间"的权限.于是,我赶紧连到SQLPLUS里进行查看该用户具有什么样的权限(包括系统权限.角色权限和对象权限),没有发现什么异常.大家都知道,一般在建立用户以后,都会给CONNECT和RESOURCE的角色权限.然后,我连到其它无报错的另一套Oracle 11.2.0.4.0数据库的生产用户上查看,两套数据库进行对比,发现报错的那套数据库没有