Oracle密码存储和验证过程剖析及防御建议

来源:互联网
责任编辑:王嘉善
字体:

为了你在安装完毕后能进入数据库,对数据进行操作! SYS用户:超级管理员,权限最高,它的角

Oracle作为目前市场占有率第一的数据库产品,相比其他数据库产品,自身存在的漏洞数量也是同类产品之中最多的,而且还在增长。由此,我们可以预见,数据库安全问题也将长期存在。

来自: http://blog.sina.com.cn/s/blog_7c7ec19b0100twb防采集。

谈到数据库安全问题,备受用户关注的有数据库密码安全,专业的说法是数据库身份验证过程安全。数据库密码是;た饽诤诵氖莸墓丶,一旦数据库密码被窃取,会导致攻击者对数据库乃至整个网络更深入的入侵。

由于Oracle数据库被广泛应用,其口令加密算法也是备受关注。最早在1993年comp.data防采集。

攻击者针对数据库的身份验证过程主要采取两种策略:一种是绕过数据库身份验证过程,一种是是攻破数据库身份验证过程。本文主要针对后者主动攻破方式进行探讨。安华金和数据库攻防实验室结合Oracle数据库的特点论述攻击Oracle身份验证过程的办法,以及针对这些攻击行为提出防御建议。

SQL> select username from dba_users;USERNAM防采集。

Oracle数据库身份验证绕过手段

1、打开电脑,在电脑桌面的左下角打开运行桌面,或者使用快捷键win+r打开cmd窗口;2、在弹出防采集。

利用Oracle的默认密码和Oracle密码特点破解密码

提到最逆天,我觉得你们把Office套装忽略了,都是不对滴,都是带有偏见的!首先我们都要承认Office办公软件是最逆天的,这是不容置疑的。至于它为什么最逆天今天这不是我讲解的重点,今天我想说几款除了OFFICE之外我觉得最逆天的办公软件!1.MindManager2017MindManager是一款多功能思维导图绘制软件,如同一个虚拟的白板,仅仅通过单一视图组织头脑风暴、捕捉想法、交流规划信息,有其他软件无法媲美的项目管理和商业规划高级功能。\n创建进度表、验证需求、设定优先级,从头脑风暴到预算预测,MindManager提供协调项目与避免障碍所需的功能,无论是简单的小项目还是复杂的创作,都防采集。

获取Oracle密码的暴力破解方法,除去通用的排列组、字典破解等方式外,Oracle 自身存在一些默认用户名密码,例如智能代理账户DBSNMP/DBSNMP。这是Oracle 中最可能被忘记修改的默认用户名和密码。造成这一现象的原因是智能代理的密码需要在两个不同的地方进行修改,首先要在数据库中对DBSNMP用户密码进行修改,其次需要在snmp_rw.ora这个文件中再次进行密码修改。

1-0击败乌兹别克斯坦之后,中国队延续了世界杯出线的希望,那么,就12强赛小组赛而言,中国队要想创造奇迹,也就是争取小组第三,需要满足哪些条件呢?先来看一下这一轮的战况,韩国0:0平伊朗,中国1:0乌兹别克斯坦,叙利亚3:1卡塔尔,此战过后,这个小组的积分情况是:伊朗21分(提前小组第一出线)、韩国14分、乌兹别克斯坦12分、叙利亚12分、中国队9分、卡塔尔队7分。净胜球差距有点太大了净胜球方面,叙利亚净胜球为1,乌兹别克斯坦为-1,中国队为-3,中国队比叙利亚队少了4个净胜球。感觉自己肾不给力/对自己长度、莳间不太满意的朋友/找我用户名上的徽欣其实,看到这里,相信很多人的心里就凉了半截。那么防采集。

还有Oracle登陆包中会带有数据库密码位数的信息,这是由于数据库服务器和客户端之间加密协议造成的。在数据库的登录信息包中存在一个关键字段AUTH_PASSWORD,这个字段是客户端对密码进行加密后传出的,这个参数的长度和原密码的长度密切相关。我们以Oracle 11g为例这个AUTH_PASSWORD的长度是96位预示着密码明文的长度应该是16-30位之间(Oracle密码长度最大不超过30位)。

想要知道怎么才能将鱼炖的又嫩又入味,还不担心碎?记住这几个小窍门:1、烧大鱼块不要怕不入味,提前腌制,炖煮时用勺子不时淋汤汁到鱼肉上,长时间慢炖,这样滋味也就更好的渗入到鱼肉里了。2、葱姜、花雕和香醋都能去掉鱼腥味,花雕和香醋要沿着锅边快速烹入,让鱼肉完全吸收香气。3、烧制的时候不要随意翻动,这样鱼肉就不容易碎掉。千滚豆腐万滚鱼,鱼肉不怕炖,越炖越香。豆腐炖鱼【材料】比目鱼、北豆腐200克、香葱1根、大蒜和生姜5克、香醋和老抽1茶匙、生抽1汤匙、油和水适量!咀龇ā1.将比目鱼和北豆腐分别洗净切块备用。生姜切片,香葱洗净切花,大蒜切末。2.锅中热油,炒香姜片和蒜末。3.在锅中倒入生抽和适量水煮防采集。

Oracle密码存储和验证过程剖析及防御建议

下图中AUTH_PASSWORD的长度是64位预示着密码明文的长度应该是1-15位之间。

近日范冰冰参加某节目,一头银色短发酷炫十足,搭配复古红唇一展歌喉。一身帅帅的连裤装,没有平日里的经典长发女神范,但是酷炫风格的范爷依旧美的霸气。近日,陈妍希在微博晒出近照,照片中她竟然染着一头橘红色的头发!网友大呼“金毛狮王”,这一染发平日里邻家小妹般的青春形象荡然无存。邓紫棋在内地大火后,总是长发飘飘的女神形象。对比昔日烟熏妆朋克造型,真是成熟稳重了不少。不得不说造型转变的很成功,现在的邓紫棋更多的是阳光活泼的美。国民闺女关晓彤一直就是“*学霸乖乖女”的标准代言人,但是也曾有过叛逆街头味十足的造型。一头脏辫,戴着嘴环,这样走不良少女风格的关晓彤不知道大家能不能接受?这一头小辫子加辣眼烟熏妆防采集。

Oracle密码存储和验证过程剖析及防御建议

这一特点不是11g版本独有的,oracle所有版本都有类似的特点。通过包中AUTH_PASSWORD位数确定密码的位数,此举将有效的降低暴力破解的成本。

从Oracle本地文件获取密码

虽然可以进行一定的优化,但暴力破解本质还是靠大量的访问链接进行测试。除了暴力破解外还存在着更为简便的获得密码的方法。假设已经可以访问数据库所在主机的文件系统,那么可以通过Oracle的一些本该删除的文件获得数据库密码信息。例如在数据库四大用户中SYSMAN的密码会以密文的形式被写入到文件中,但是同时也会把密钥写入到同一个文档中。例如C:\app\lsc\product\11.2.0\dbhome_1\sysman\config下的emoms.properties 中存储了 SYSMAN的密码和密钥。打开emoms.propeties

Oracle密码存储和验证过程剖析及防御建议

图中画红线的位置:

oracle.sysman.eml.mntr.emdRepPwd记录的是sysman的密码,oracle.sysman.eml.mntr.emdRepPwdSeed记录的是对应密码的密钥。

同时得到了密文与密钥用DES解密器可以获得密码原文

Oracle密码存储和验证过程剖析及防御建议

如果数据库管理中多个账号采用统一密码,就会导致直接外泄SYS/SYSTEM密码。

在Oracle主目录的cfgtoologs文件夹中还存在一些会暴露密码信息的文件。 <$xue63fenye$><$lovfpfenye$>

利用Oracle加密原理破解密码

除了以上两种获取密码的方法外还有更加直接的办法,这种方法就是通过理解Oracle的密钥传输过程破解Oracle通讯协议中的密文。(下面以Oracle 9i为例说明这一方法,10、11原理类似,只是更加复杂)

首先拿一个Oracle登录包来说明整个过程。首先客户端给服务器发送SERVICE_NAME。

Oracle密码存储和验证过程剖析及防御建议

这一发送过程如果没有向Listener登记该服务,那么Listener会生成一个错误,则终止所有过程。如果成功则进入身份验证过程,首先客户端向服务器发送一个含有用户名的数据包,服务器判断用户名存在后从数据库中提取出该用户名的散列值,服务器使用这个散列值生成一个密码。

这个密码的生成过程是服务器调用orageneric库中的函数slgdt()过程。slgdt()函数是用来重新获得系统时间的,将分钟、小时、秒、毫秒结合起来形成一个用来加密的8个字节的“文本”。文本的前四位是由分钟和小时与用户名对应的散列的后四位进行异或运算得出,文本的后四位是由秒和毫秒与用户名对应的散列的前四位进行异或运算得出。

加密过程通过调用oracommon库中的函数kzsrenc(),使用该密钥对文本进行加密。通过使用函数lncgks(),函数kzsrenc()基本完成了DES密钥的生成,最后利用函数incecb()输出ecb模式下的DES密文,这里生成的密文就是密码。接着再次调用函数kzsrenc(),利用用户的密码散列值对该密码加密,这样调用的结果就是AUTH_SESSKEY然后发送给客户端。

Oracle密码存储和验证过程剖析及防御建议

收到AUTH_SESSKEY后,客户端将其重新解密并重新获得该密码。用户利用oracore库中的函数lncupw()创建自己密码散列值的一个副本,然后通过调用函数kzsrdec(),将该散列值用作对AUTH_SESSKEY进行解密的密钥。这一过程顺利完成后就会生成密码。

这个密码通过调用函数kzsrenp()作为密钥对其中的明文、大小写敏感字符进行加密。kzsrenp()函数完成了DES密钥的生成以及在CBC模式下用户密码的加密。接下来,密文以AUTH_PASSWORD的形式被送回服务器。

Oracle密码存储和验证过程剖析及防御建议

服务器调用oracommon库中的函数kzsrdep(),利用密钥密码对AUTH_PASSWORD进行解密,这个时候服务器就拥有了明文密码的一个副本,然后服务器创建密码的散列值并将它与数据库中的散列值进行比较,如果匹配成功,那么用户就完成了整个身份验证。

清楚这里面的原理就可以按照Oracle的思路在网络上嗅探到AUTH_SESSKEY和AUTH_PASSWORD,然后利用暴力破解破解出散列值,最终利用散列值解密AUTH_SESSKEY获得密码。

知道了攻击者获取数据库密码的办法,就可以有针对性的对其进行防御。从攻击方法上看,第一种方法主要是依赖默认口令或弱口令;第二种方法是配置文件泄漏;第三种方法是通过破解散列值获取。

根据安华金和攻防实验室专家多年经验以下3点有助于加固Oracle密码安全,解决攻击者对Oracle验证绕过的威胁。

Oracle身份认证加固建议

定期修改账户的密码

在数据库创建之后会存在一些默认用户,例如文中提到的智能代理账号DBSNMP。要定期对这些使用的账号进行修改密码。密钥要遵循Oracle的建议,并且理论上密码越复杂越有利于安全。 <$xue63fenye$><$lovfpfenye$>

锁死一些不需要的用户,对系统文件进行加锁处理

例如文中的文件系统中暴露的是SYSMAN的密码,这个账号是用于管理EM的账号,如果你的环境不需要EM,请锁死这个账号,并对一些可能泄露密码的配置文件进行文件加锁,防止本地文件系统被入侵牵连到数据库。

提高数据库版本,使用非定值的散列值

10g之前的数据库由于固定用户名对应的散列值是固定的仅依靠时间函数做调整,这就给攻击者对数据库散列值做暴力破解带来了可能。建议升级数据库到11g版本,11g开始引入了AUTH_VFR_DATA这个随机值,并对AUTH_SESSKEY的生成做了更复杂的调整有利于防止密码通过泄露的传输信息被破译。

相信只要做到以上三点,就可以有效的防止攻击者获取数据库密码。

扩展阅读,根据您访问的内容系统为您准备了以下扩展内容,希望对您有帮助。

oracle 存储过程 写判断用户注册验证

CREATE OR REPLACE PROCEDURE YANZHENG

(

NAME in VARCHAR2,--用户名称

PASSWORD in VARCHAR2,---用户密码

FLAG OUT NUMBER) --返回状态0表示错误,1表示存在)

IS

C_NAME varchar2(20);

C_PASSWORD varchar2(20);

COUNTS NUMBER;

PCOUNTS NUMBER;

BEGIN

C_NAME:=NAME;

C_PASSWORD:=PASSWORD;

SELECT COUNT(*) INTO COUNTS FROM USER WHERE USERNAME=C_NAME;

IF COUNTS>0 THEN

SELECT COUNT(*) INTO PCOUNTS FROM USER WHERE PASSWORD=C_PASSWORD;

IF PCOUNTS>0 THEN

FLAG:=1;

END IF;

ELSE

FLAG:=0;

END IF;

END YANZHENG;

Oracle 11g安装中出现如下图,管理口令应该填什么???

应该填写登陆数据库的密码。

在ORALCE数据库系统中,用户如果要以特权用户身份(SYS/SYSDBA/SYSOPER)登录ORALCE数据库可以有两种身份验证的方法:即使用与操作系统集成的身份验证或使用ORALCE数据库的密码文件进行身份验证。因此,管理好密码文件,对于控制授权用户从服务器本机或远端登录Oracle数据库系统,执行数据库管理工作,具有重要的意义.

ORALCE口令文件用于存储拥有部分特权用户(sys等用户)的口令(注意:普通账号密码是不会存储在口令文件的)。允许用户通过口令文件验证,在数据库未启动之前登陆,从而启动数据库。如果没有口令文件,在数据库未启动之前就只能通过操作系统认证.口令文件存放在$ORACLE_HOME/dbs目录下(linux,window放在database),默认名称是orapw$ORACLE_SID。即密码文件位置:

Linux下的存放位置:$ORACLE_HOME/dbs/orapw<sid>.ora

Windows下的存放位置:$ORACLE_HOME/database/PW%ORACLE_SID%.ora

oracle数据库密码文件

密码文件是用于记录数据库帐户管理员的密码的,每个数据库必须要拥有密码文件。

你可以使用 $ORACLE_HOME/bin/orapwd 来创建sys用户的密码,并保存到文件中,如:

orapwd file=$ORACLE_HOME/dbs/orapwSID password=change_on_install

$ORACLE_HOME 为数据库的安装目录

SID 为数据库的SID

windows 密码文件保存在 database 目录下。

创建完密码文件,就可以使用sys用户登录了。

之后再创建普通用户和密码。

create user USER_NAME identified by USER_PASSWD default tablespace DEFAULT_TABLESPACE temporary

tablespace TEMP;

修改已经存在的用户的密码

alter user USER_NAME identified by USER_PASSWD;
www.vw-sh.com true http://www.vw-sh.com/exploit/184/1843331.html report 65868 Oracle密码存储和验证过程剖析及防御建议,Oracle作为目前市场占有率第一的数据库产品,相比其他数据库产品,自身存在的漏洞数量也是同类产品之中最多的,而且还在增长。由此,我们可以预见,数据库安全问题也将长期存在。谈到数据库安全问题,备受用户关注的有数据库密码安全,专业的说法是数据库身份验证...
娱乐时尚
历史文化
真视界
旅游美食
精彩图文
我爱我车
母婴健康
关于本站 | 广告服务 | 手机版 | 商务合作 | 免责申明 | 招聘信息 | 联系我们
Copyright © 2004-2018 book1234.com All Rights Reserved. 布客网 版权所有
京ICP备10044368号-1 京公网安备11010802011102号
教育考试: 学历财经建筑 医药公考资格外语电脑作文招聘中小学留学 文档 移民 文库专栏23问答中心z资讯z资讯1资讯涨资讯涨资讯1资讯问答图书馆知识IT编程数码信息解决方案信息中心IT科技问答新闻中心软件教室设计大全网络相关英语学习开发编程考试中心参考范文管理文库营销中心站长之家IT信息中心商学院数码大全硬件DIY企业服务网吧在线百科硬件知识手机平板汽车游戏家电精彩摄影现代家居IT女人经验健康养生猎奇创业攻略教育学习历史时尚潮流最近更新涨知识
北京快乐8 我爱小品网| 斗牛棋牌| 天天棋牌| 斗牛棋牌| 我爱小品网|