Oracle安全问题

网络使用Oracle已知的一些漏洞
本文乃《Oracle数据库攻防之道》的部分读书笔记,国内很

多oracle不安全的信息。而没有深入说那里不安全。我简单

整理一下吧。
《Oracle数据库攻防之道》 清华大学出版社07年11月第一

版同时还有《数据库黑客大曝光-数据库服务器防护术》
圆规正传:
TNS头
Refuse packet的第54个字节如果是a3表示是一个无效的密

码,a2表示没有这样的用户。

获取版本

Listener 支持version和status命令识别版本。在10g后一

个不能用了。前一个还是可以用的
同时tns包的第9,10字节会给出正在使用的tns协议版本,第

11,12字节给出系统能够识别的版本号。可以不断降低这个

看看系统是那个版本。
Oracle 10r2 supports 0X139
Oracle 9r2 supports 0X138
Oracle 9i supports 0X137
Oracle 8 supports 0X139

使用xml数据库
通过tcp的2100端口获取,这个是一项FTP服务
返回值中有
使用TNS错误文本返回值中VSNNUM的数字是10进制的。转化

成16进制就能看到版本了。
TNS版本的TTC函数
在ANO商议头的后面三个字节找到客户机和服务器的版本第

17,18,19字节。

攻击身份验证
如果oracle工作在多线程服务器(mts)模式下并且切换了

端口就会重新验证密码。这个时候发送账号和密码,如果账

号存在oracle将会对数据库中密码先hash加密后用DES加密

后发过来。
过程是利用slgdt()函数来hash,kzsrenc()获取DES密钥,

lncgks()加密,lncecb()输出。再调用kzsrenc()和用户输

入的密码散列值对该密码加密。将结果发送至客户机。
解密过程:
利用oracore库中的lncupw()创建自己密码散列值的一个副

本。然后调用函数kzsrenp()函数,这个生成密钥,以及在

CBC模式下用户密码的加密。接着,密文以AUTH_PASSWORD的

形式送回服务器如果和原文hash一致则通过了验证。
在oracle8.1.7.4下验证。
或者获取返回到AUTH_PASSWORD长度。如果是16位则密码不

大于8字符,如果密码在9~16字符则AUTH_PASSWORD长度在32

个字符。密码过小则暴力破解。

过多的用户名
SYS
SYSTEM
DBSNMP
CTXSYS
MDSYS
SCOTT
以上用户名除了DBSNMP是被激活的,其余的都是冻结的。一

旦用合法身份登录。就能激活。还有其他的账户。
在10g的$oracle_home/hostname_sid/sysman/config下的

emoms.properties内有密码虽然是DES加密的,emoms文件包

含密钥对应字段分别是emdPepPwd和emdRepPwdSeed
剩下的文件是
postDBCreation.log如果安装的时候密码出错。这个里面有
其余可能的组:
$oracle_home/cfgtoollogs/cfgfw/Cfmlogger_install_dat

e.log
$oracle_home/cfgtoollogs/cfgfw/oracle.assistants.ser

ver_install_date.log

$oracle_home/cfgtoollogs/configToolAllCommands
$oracle_home/inventory/Components21/oracle.assistant

s.server/10.2.0.1.0/context.xml
$oracle_home/inventory/ContentsXML/ConfigXML/oracle.

assistants.server.10_2_0_1_0.CFM.1.inst.xml

$oracle_home/cfgtoollogs/oui/installActions_install_

date.log(windows only)
如乱码05.......
里面的加密方式,密钥,密码用乱码表示。分别是开头的05

表示DES加密,接下来16个字符是密钥再接下来16个是密码.

超长用户名可导致缓冲区溢出问题。这个书上说的不详。

ORACLE的用户名默认长度我也没查。在oracle9r2以前有效

触发器可以产生脏数据和系统问题

编写存储过程的权限编写存储过程可以提权
后面的就没细看了。有空再借的看看。
 后面几个章节分别是

5,PL/SQL的相关信息。包括注入,二阶注入,攻击PL/SQL紊乱等

7,间接增加权限

8,攻破访问控制

9,攻击pl/sql web应用程序,使之穿破防火墙进入ORACLE后端

10,运行OS系统命令

11,饶过访问控制,攻击文件系统

12,饶过访问控制,在不引起注意的情况下盗取数据。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值