中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      Oracle數(shù)據(jù)庫(kù)基本知識(shí)

      時(shí)間:2024-09-13 22:46:00 Oracle認(rèn)證 我要投稿
      • 相關(guān)推薦

      Oracle數(shù)據(jù)庫(kù)基本知識(shí)

        Oracle Database,又名OracleRDBMS,或簡(jiǎn)稱Oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。本文為大家分享的是Oracle數(shù)據(jù)庫(kù)的基本知識(shí),希望對(duì)大家有所幫助!

      Oracle數(shù)據(jù)庫(kù)基本知識(shí)

        它是在數(shù)據(jù)庫(kù)領(lǐng)域一直處于領(lǐng)先地位的產(chǎn)品。可以說(shuō)Oracle數(shù)據(jù)庫(kù)系統(tǒng)是目前世界上流行的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),系統(tǒng)可移植性好、使用方便、功能強(qiáng),適用于各類大、中、小、微機(jī)環(huán)境。它是一種高效率、可靠性好的適應(yīng)高吞吐量的數(shù)據(jù)庫(kù)解決方案。

        介紹

        ORACLE數(shù)據(jù)庫(kù)系統(tǒng)是美國(guó)ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫(kù)為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)之一。比如SilverStream就是基于數(shù)據(jù)庫(kù)的一種中間件。ORACLE數(shù)據(jù)庫(kù)是目前世界上使用最為廣泛的數(shù)據(jù)庫(kù)管理系統(tǒng),作為一個(gè)通用的數(shù)據(jù)庫(kù)系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫(kù)它實(shí)現(xiàn)了分布式處理功能。但它的所有知識(shí),只要在一種機(jī)型上學(xué)習(xí)了ORACLE知識(shí),便能在各種類型的機(jī)器上使用它。

        Oracle數(shù)據(jù)庫(kù)最新版本為OracleDatabase 12c。Oracle數(shù)據(jù)庫(kù)12c引入了一個(gè)新的多承租方架構(gòu),使用該架構(gòu)可輕松部署和管理數(shù)據(jù)庫(kù)云。此外,一些創(chuàng)新特性可最大限度地提高資源使用率和靈活性,如Oracle Multitenant可快速整合多個(gè)數(shù)據(jù)庫(kù),而Automatic Data Optimization和Heat Map能以更高的密度壓縮數(shù)據(jù)和對(duì)數(shù)據(jù)分層。這些獨(dú)一無(wú)二的技術(shù)進(jìn)步再加上在可用性、安全性和大數(shù)據(jù)支持方面的主要增強(qiáng),使得Oracle數(shù)據(jù)庫(kù)12c 成為私有云和公有云部署的理想平臺(tái)。

        就業(yè)前景

        從就業(yè)與擇業(yè)的角度來(lái)講,計(jì)算機(jī)相關(guān)專業(yè)的大學(xué)生從事oracle方面的技術(shù)是職業(yè)發(fā)展中的最佳選擇。

        其一、就業(yè)面廣:ORACLE幫助拓展技術(shù)人員擇業(yè)的廣度,全球前100強(qiáng)企業(yè)99家都在使用ORACLE相關(guān)技術(shù),中國(guó)政府機(jī)構(gòu),大中型企事業(yè)單位都能有ORACLE技術(shù)的工程師崗位,大學(xué)生在校期間興趣廣泛,每個(gè)人興趣特長(zhǎng)各異,不論你想進(jìn)入金融行業(yè)還是電信行業(yè)或者政府機(jī)構(gòu),ORACLE都能夠在你的職業(yè)發(fā)展中給你最強(qiáng)有力的支撐,成為你最貼身的金飯碗。

        其二、技術(shù)層次深:如果期望進(jìn)入IT服務(wù)或者產(chǎn)品公司,Oracle技術(shù)能夠幫助提高就業(yè)的深度。Oracle技術(shù)已經(jīng)成為全球每個(gè)IT公司必選的軟件技術(shù)之一,熟練掌握Oracle技術(shù)能夠?yàn)閺臉I(yè)人員帶來(lái)技術(shù)應(yīng)用上的優(yōu)勢(shì),同時(shí)為IT技術(shù)的深入應(yīng)用起到非常關(guān)鍵的作用。掌握 Oracle技術(shù),是IT從業(yè)人員了解全面信息化整體解決方案的基礎(chǔ)。

        其三、職業(yè)方向多:Oracle數(shù)據(jù)庫(kù)管理方向、Oracle開發(fā)及系統(tǒng)架構(gòu)方向、Oracle數(shù)據(jù)建模數(shù)據(jù)倉(cāng)庫(kù)等方向。

        Oracle數(shù)據(jù)庫(kù)漏洞分析:無(wú)需用戶名和密碼進(jìn)入你的數(shù)據(jù)庫(kù)

        一般性的數(shù)據(jù)庫(kù)漏洞,都是在成功連接或登錄數(shù)據(jù)庫(kù)后實(shí)現(xiàn)入侵;本文介紹兩個(gè)在2012年暴露的Oracle漏洞,通過(guò)這兩種漏洞的結(jié)合,可以在不掌握用戶名/密碼的情況下入侵Oracle,從而完成對(duì)數(shù)據(jù)的竊取或者破壞。這兩個(gè)漏洞就是CVE-2012-1675和CVE-2012-3137。

        引言

        國(guó)內(nèi)外很多重要的系統(tǒng)都采用Oracle作為數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù);在Oracle中存儲(chǔ)著企業(yè)或政府大量敏感的信息,在金錢或政治的誘導(dǎo)下,內(nèi)外部黑客會(huì)想法利用管理、網(wǎng)絡(luò)、主機(jī)或數(shù)據(jù)庫(kù)的自身漏洞嘗試入侵到數(shù)據(jù)庫(kù)中,以達(dá)到自身的目的。

        本文的作者通過(guò)對(duì)Oracle倆種漏洞的組合研究,設(shè)計(jì)了一套在不掌握用戶名/密碼的方式入侵到Oracle中;這種方法,比傳統(tǒng)的需要登錄到數(shù)據(jù)庫(kù)中的入侵方法,具有更大的安全隱患和破壞性。

        本文希望通過(guò)對(duì)這兩個(gè)漏洞和攻擊方法的介紹,能夠引起相關(guān)人員的重視,完善對(duì)數(shù)據(jù)庫(kù)安全的措施。

        1、概要介紹

        本文提供的方法是基于漏洞CVE-2012-1675和CVE-2012-3137對(duì)oracle數(shù)據(jù)庫(kù)的攻擊測(cè)試的方法。

        CVE-2012-1675漏洞是Oracle允許攻擊者在不提供用戶名/密碼的情況下,向遠(yuǎn)程“TNS Listener”組件處理的數(shù)據(jù)投毒的漏洞。攻擊者可利用此漏洞將數(shù)據(jù)庫(kù)服務(wù)器的合法“TNS Listener”組件中的數(shù)據(jù)轉(zhuǎn)向到攻擊者控制的系統(tǒng),導(dǎo)致控制遠(yuǎn)程組件的數(shù)據(jù)庫(kù)實(shí)例,造成組件和合法數(shù)據(jù)庫(kù)之間的中間人攻擊、會(huì)話劫持或拒絕服務(wù)攻擊。

        CVE-2012-3137漏洞是Oracle Database 10g/11g身份驗(yàn)證協(xié)議實(shí)現(xiàn)中存在一個(gè)設(shè)計(jì)缺陷,攻擊者無(wú)需認(rèn)證即可遠(yuǎn)程獲取數(shù)據(jù)庫(kù)用戶密碼哈希相關(guān)數(shù)據(jù),從而可以離線暴力破解用戶密碼,進(jìn)一步控制數(shù)據(jù)庫(kù)系統(tǒng)。

        我們通過(guò)如下的步驟和過(guò)程可以實(shí)現(xiàn)對(duì)Oracle的入侵:

        (1)利用CVE-2012-1675進(jìn)行TNS劫持,在監(jiān)聽下利用遠(yuǎn)程注冊(cè),注冊(cè)同名數(shù)據(jù)庫(kù)實(shí)例;

        (2)新登陸的用戶,在TNS的負(fù)載均衡策略下,有可能流量登錄到偽造的監(jiān)聽服務(wù)上;

        (3)該監(jiān)聽服務(wù)對(duì)用戶的登陸過(guò)程進(jìn)行監(jiān)控,并將相關(guān)數(shù)據(jù)流量轉(zhuǎn)發(fā)到真實(shí)的數(shù)據(jù)庫(kù)上;

        (4)利用CVE-2012-3137獲得通訊過(guò)程中的認(rèn)證相關(guān)信息;

        (5)對(duì)認(rèn)證相關(guān)信息進(jìn)行離線的暴力破解,獲得登陸的密碼;

        (6)試用破解的用戶名/密碼登陸Oracle,完成對(duì)Oracle中數(shù)據(jù)的訪問(wèn);

        2、通過(guò)CVE-2012-1675進(jìn)行TNS劫持

        該漏洞存在于Oracle的所有版本,并且Oracle至今僅是發(fā)布了警告性通知,并未提供解決方案。

        要想利用CVE-2012-1675漏洞做TNS劫持,首先需要了解TNS機(jī)制。如下圖所示oracle 通過(guò)在本地解析網(wǎng)絡(luò)服務(wù)名到目標(biāo)主機(jī)IP地址,服務(wù)端口號(hào),目標(biāo)數(shù)據(jù)庫(kù)名,把這些信息發(fā)送到oracle服務(wù)器端監(jiān)聽程序,最后再由監(jiān)聽程序遞送DBMS。

        其中關(guān)鍵點(diǎn)在于監(jiān)聽會(huì)按照目標(biāo)數(shù)據(jù)庫(kù)名遞送到名稱正確的數(shù)據(jù)庫(kù)。那么如果一個(gè)監(jiān)聽下有2個(gè)同名數(shù)據(jù)庫(kù)。監(jiān)聽將自動(dòng)按照負(fù)載均衡把這次訪問(wèn)發(fā)送到負(fù)載低的數(shù)據(jù)庫(kù)上,進(jìn)行連接訪問(wèn)。數(shù)據(jù)庫(kù)注冊(cè)到監(jiān)聽的方法就決定了,能否同時(shí)注冊(cè)同名數(shù)據(jù)庫(kù)在同一個(gè)監(jiān)聽下。注冊(cè)方式分為本地注冊(cè)和遠(yuǎn)程注冊(cè),通過(guò)修改參數(shù)可以調(diào)整為遠(yuǎn)程注冊(cè)。

        下面是一段可用的TNS劫持的過(guò)程:

        1.在劫持機(jī)上創(chuàng)建一個(gè)和目標(biāo)數(shù)據(jù)庫(kù)實(shí)例同名的數(shù)據(jù)庫(kù)實(shí)例。

        2.在劫持機(jī)上修改 tnsnames.ora 文件

        添加

        listener_name=

        (DESCRIPTION=

        (ADDRESS=(PROTOCOL=tcp)(HOST=目標(biāo)機(jī)器IP)(PORT=目標(biāo)機(jī)器端口)))

        3.在劫持機(jī)上用SQL*Plus 順序執(zhí)行下面步驟。

        1.$ sqlplus / as sysdba

        2. SQL> ALTER SYSTEM SETREMOTE_LISTENER='LISTENER_NAME';

        3. SQL> ALTER SYSTEM REGISTER;

        4.多個(gè)客戶端,向數(shù)據(jù)庫(kù)發(fā)起登錄。會(huì)劫持到一部分客戶端的登錄信息。

        最終達(dá)到效果如下圖所示:

        按照猜想同一個(gè)監(jiān)聽下有2個(gè)同名實(shí)例。客戶端訪問(wèn)監(jiān)聽,監(jiān)聽按照客戶端中的數(shù)據(jù)庫(kù)名信息分配數(shù)據(jù)庫(kù),由于監(jiān)聽下有2個(gè)同名數(shù)據(jù)庫(kù),客戶端鏈接很可能會(huì)被分配到劫持者的數(shù)據(jù)庫(kù)實(shí)例下,再通過(guò)配置劫持者的本地監(jiān)聽把客戶端請(qǐng)求指回原數(shù)據(jù)庫(kù)。結(jié)構(gòu)圖如下:

        測(cè)試客戶端鏈接196次。目標(biāo)數(shù)據(jù)庫(kù)實(shí)例獲得113次,劫持?jǐn)?shù)據(jù)庫(kù)實(shí)例獲得83次基本滿足負(fù)載均衡的假設(shè)。(注上面實(shí)例是local server 下面實(shí)例是 remote server)

        通過(guò)以上方式我們可以截獲約一半左右客戶端發(fā)送到服務(wù)器的合法鏈接。其中獲得了服務(wù)器IP、端口號(hào)、數(shù)據(jù)庫(kù)位置、實(shí)例名、登錄用戶名等一系列明文信息和4組密文信息(AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA)。

        3、通過(guò)CVE-2012-3137進(jìn)行密碼破解

        CVE-2012-3137受影響的數(shù)據(jù)庫(kù)版本有11.2.0.3,11.2.0.2,11.1.0.7,有使用了SHA-1加密算法的10.2.0.5和10.2.0.4,還有使用了SHA-1的10.2.0.3(運(yùn)行在z/OS下)版本。

        雖然這個(gè)漏洞在11.2.0.3中已經(jīng)解決,但是僅僅數(shù)據(jù)庫(kù)客戶端和服務(wù)器都升級(jí)到11.2.0.3并且sqlnet.ora文件中增加SQLNET.ALLOWED_LOGON_VERSION=12才有效。

        正如CVE-2012-3137所描述Oracle為了防止第三方通過(guò)網(wǎng)絡(luò)獲取登錄信息包。而對(duì)密碼進(jìn)行了加密處理。本部分只以oracle11.1密碼如何破解為例進(jìn)行說(shuō)明。

        在發(fā)起連接之后(oracle牽手完成),客戶端和服務(wù)器經(jīng)過(guò)協(xié)商確定要使用的驗(yàn)證協(xié)議。要完成這個(gè)任務(wù),客戶端首先向數(shù)據(jù)庫(kù)發(fā)送一個(gè)包。包中包含客戶端主要信息和所請(qǐng)求的加密方式。數(shù)據(jù)庫(kù)確認(rèn)加密方式有效后,發(fā)送一個(gè)確認(rèn)服務(wù)包如下圖所示:

        在通過(guò)安全網(wǎng)絡(luò)服務(wù)完成任何所要求的協(xié)議之后,數(shù)據(jù)庫(kù)用戶被O3logon(oracle驗(yàn)證方式) 進(jìn)行驗(yàn)證,這個(gè)協(xié)議執(zhí)行一個(gè)序列來(lái)向數(shù)據(jù)庫(kù)證明客戶端擁有密碼。為了避免網(wǎng)絡(luò)第三方截獲到密碼。首先客戶端發(fā)送用戶名到數(shù)據(jù)庫(kù)來(lái)表明用戶身份。數(shù)據(jù)庫(kù)端根據(jù)加密協(xié)議,其中96位的作為數(shù)據(jù)庫(kù)端密鑰,20位的作為偏移量,它對(duì)每個(gè)連接都是不同的。一個(gè)典型的數(shù)據(jù)庫(kù)端發(fā)給客戶端的密鑰如下:

        AUTH_SESSKEY.....COCDD89FIGODKWASDF……………………

        客戶端根據(jù)加密算法向服務(wù)器端發(fā)送96位的客戶端密鑰和64位的密碼密鑰。服務(wù)器端計(jì)算客戶端傳入的密碼密鑰。如果計(jì)算后密碼密文和數(shù)據(jù)庫(kù)中存儲(chǔ)的16位密碼密文一致則驗(yàn)證通過(guò)。

        根據(jù)這個(gè)過(guò)程可知上面TNS劫持包中取得的加密信息:AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA這四個(gè)值是解密的關(guān)鍵。我們把他們按照SHA1,MD5,AES192進(jìn)行一系列處理。最終通過(guò)數(shù)據(jù)字典碰撞得到密碼明文。

        下面這段網(wǎng)上公布的一段示例代碼,這段代碼與筆者的思路不完全相同,但也能大概地說(shuō)明這個(gè)漏洞的攻擊過(guò)程:

        import hashlib

        from Crypto.Cipher import AES

        def decrypt(session,salt,password):

        pass_hash= hashlib.sha1(password+salt)

        key =pass_hash.digest() + '\x00\x00\x00\x00'

        decryptor= AES.new(key,AES.MODE_CBC)

        plain =decryptor.decrypt(session)

        returnplain

        session_hex ='EA2043CB8B46E3864311C68BDC161F8CA170363C1E6F57F3EBC6435F541A8239B6DBA16EAAB5422553A7598143E78767'

        salt_hex = 'A7193E546377EC56639E'

        passwords = ['test','password',''oracle','demo']

        for password in passwords:

        session_id= decrypt(session_hex.decode('hex'),salt_hex.decode('hex'),password)

        print'Decrypted session_id for password "%s" is %s' %(password,session_id.encode('hex'))

        ifsession_id[40:] == '\x08\x08\x08\x08\x08\x08\x08\x08':

        print'PASSWORD IS "%s"' % password

        break

        4、建議的預(yù)防措施

        根據(jù)以上兩段分析,我們可以有如下的預(yù)防措施:

        (1)在條件許可的情況下,對(duì)Oracle進(jìn)行補(bǔ)丁升級(jí),對(duì)Oracle打cpuoct2012-1515893補(bǔ)丁;注意對(duì)于cpuoct2012-1515893補(bǔ)丁要求服務(wù)器端和應(yīng)用服務(wù)器端同時(shí)升級(jí),否則應(yīng)用系統(tǒng)將無(wú)法訪問(wèn)Oracle;

        (2)若無(wú)法對(duì)Oracle升級(jí),要購(gòu)買或安裝具備虛擬補(bǔ)丁功能的數(shù)據(jù)庫(kù)安全產(chǎn)品,防止對(duì)CVE-2012-3137和CVE-2012-1675的利用;

        (3)建立足夠強(qiáng)健的口令,不要使用8位以下密碼,或者字典庫(kù)中的口令。

      【Oracle數(shù)據(jù)庫(kù)基本知識(shí)】相關(guān)文章:

      Oracle數(shù)據(jù)庫(kù)SELECT語(yǔ)句03-27

      oracle數(shù)據(jù)庫(kù)基本語(yǔ)句02-08

      Oracle數(shù)據(jù)庫(kù)語(yǔ)句大全12-21

      Oracle數(shù)據(jù)庫(kù)認(rèn)證層次03-09

      ORACLE數(shù)據(jù)庫(kù)操作基本語(yǔ)句03-06

      oracle數(shù)據(jù)庫(kù)培訓(xùn)課程大綱03-21

      oracle數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)01-21

      Oracle 數(shù)據(jù)庫(kù)查詢小技巧03-21

      Oracle數(shù)據(jù)庫(kù)臨時(shí)表管理技巧03-23

      主站蜘蛛池模板: 会理县| 亚洲一区二区在线精品| 久久亚洲精品成人AV无码网址 | 国产成人夜色在线视频观看| 国产三级黄色在线观看| 国产一区二区a毛片色欲| 麻豆成年视频在线观看| 国产精品日本天堂| 怀来县| 尼玛县| 国产亚洲成年网址在线观看| 99久久久国产精品丝袜| 精品日韩欧美| 国产农村妇女一区二区三区| 最新国产精品精品视频| 宝鸡市| 靖远县| 亚洲性69影视| 丝袜熟女视频九色一区91| 国产强伦姧在线观看| 人妻少妇被猛烈的进入| 日本二区三区视频免费观看| 许昌县| 垫江县| 大冶市| 马龙县| 普格县| 宣恩县| 乳山市| 太原市| 久久久久综合一本久道| 平阳县| 美女被射视频在线观看91| 国产精品国产三级国产av创| 房产| 男人午夜a天堂一区二区三区| 开心五月婷婷丁香综合| 日本一区二区三区高清日韩| 铁岭市| 亚洲AV无码一区二区三区精神| 久久国产精品男人的天堂av |