自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)庫管理員的Oracle密碼破解

數(shù)據(jù)庫 Oracle
數(shù)據(jù)庫管理員為什么會想要看到實際的密碼值呢?可能出于種種原因,而這可能并不是個好主意,不過有時也是一個低成本的解決方案。而前提是,其他人不能如法炮制來獲得你數(shù)據(jù)庫里某個用戶的密碼!

本文的內(nèi)容是針對數(shù)據(jù)庫管理員的Oracle密碼破解,而寓意是讓Oracle管理員們保管好和用戶名及密碼有關(guān)的東西……破解與安全向來都是矛盾體。

對于那些對Oracle關(guān)系數(shù)據(jù)庫系統(tǒng)的安全問題,特別是涉及到Oracle密碼機(jī)制或算法的問題非常關(guān)注的人來說,老版本Oracle(特別是10g及其以下的版本)一直被認(rèn)作是黑客們?nèi)菀椎檬值墓裟繕?biāo)。似乎你永遠(yuǎn)不可能找到能百分之百保護(hù)你的系統(tǒng)免受黑客攻擊的辦法。你可以從很多方面來武裝你的系統(tǒng),但是有一些事情你是永遠(yuǎn)不可能避免的,例如總會有人有需要必須能夠接觸到并存取敏感數(shù)據(jù),絕大多數(shù)的客戶端連接也都會涉及到通過網(wǎng)絡(luò)來傳輸數(shù)據(jù)。

有時候數(shù)據(jù)庫管理員也不得不動用一下“黑客”的密碼破解技巧才能解決問題。你會問,數(shù)據(jù)庫管理員本來就有數(shù)據(jù)庫內(nèi)部所有的密鑰,又怎么搖身一變成了黑客呢?因為能夠存取所有的數(shù)據(jù)并不意味著可以查看所有的數(shù)據(jù)。特別是,能夠查看密碼的哈希值(hashed value),并不代表就能看到密碼本身。

那么數(shù)據(jù)庫管理員為什么會想要看到實際的密碼值呢?更確切的講,為什么數(shù)據(jù)庫管理員想要知道某個特定的密碼明文呢?你可以想象很多情況下確實是有這個需要,常見的原因包括老應(yīng)用產(chǎn)品的使用,高頻率的人員調(diào)動,原本的密碼管理和密碼歸檔沒有做好等等。改變SYS和SYSTEM密碼通常不是什么大問題,但是如果是OLD_APP模式的密碼呢?

在網(wǎng)上搜索“Oracle密碼破解工具”,你會找到不少“好東西”,甚至還能找到自制的類似于黑客程序的軟件。本文選擇了Laszlo Toth的woraauthbf工具,該程序能很好的滿足本文的需要。你可以先用woraauthbf創(chuàng)建一個包括用戶名、哈希密碼值、SID和服務(wù)器名的文本文件來對付Oracle的老版本看看。提供的這幾項中只要用戶名和哈希密碼值是真的就行了。你如果深入研究過Oracle是怎么創(chuàng)建哈希值的,你肯定會清楚用戶名和密碼是緊密連鎖的,而SID和服務(wù)器名和哈希值的創(chuàng)建沒有任何關(guān)系。其他的一些“破解”程序依賴于網(wǎng)絡(luò)信息,例如客戶端、服務(wù)器IP地址、端口和第三方“嗅探器”工具來窺視在客戶端和服務(wù)器之間傳送的數(shù)據(jù)。

還是快速進(jìn)入實例吧。復(fù)制下面指令的輸出結(jié)果到一個txt文件,這樣就創(chuàng)建了上文所說的密碼文件。

  1. select username||':'||password||':'||name||':'||host_name||':'from sys.dba_users, sys.V_$DATABASE, sys.v_$instance; 

再次提醒一下,上面的name和host_name隨便你怎么取,或者用真實值也行。本例子的輸出文本文件內(nèi)容如下:

SCOTT:DE59105EDBF4A687:ORCL:MYPC:

我們知道Oracle測試用戶Scott的密碼為tiger,這里為tigers(最后輸出的結(jié)果實為TIGERS,Oracle忽略大小寫),從5字符變?yōu)?字符。解壓縮上面下載的woraauthbf文件后,打開命令提示行(DOS)窗口,從這里調(diào)用該工具。將密碼文件名存為“named password_file.txt”,命令行文本輸入如下:

woraauthbf.exe -p c:\password_file.txt

所有參數(shù)選用默認(rèn),執(zhí)行完本次會話輸出結(jié)果如下所示:

  1. C:\[my path]>woraauthbf.exe -p c:\password_file.txtUsernames will be permuted!  
  2.  
  3. The number of processors: 2 
  4.  
  5. Number of pwds to check: 321272406 
  6.  
  7. Number of pwds to check by thread: 160636203 
  8.  
  9. Password file: c:\password_file.txt, charset: alpha, maximum length: 6, type: hash  
  10.  
  11. Start: 0 End: 160636203 
  12.  
  13. Start array thread with 489 number of passwords!  
  14.  
  15. Start: 160636203 End: 321272406 
  16.  
  17. Writing session files...  
  18.  
  19. Writing session files...  
  20.  
  21. Password found: SCOTT:TIGERS:ORCL:MYPC  
  22.  
  23. Elpased time: 164s  
  24.  
  25. Checked passwords: 153976754 
  26.  
  27. Password / Second: 938882 
  28.  

該程序計算了3億2千1百多萬需要檢查的密碼,而且使用了兩個處理器把工作量減半了,而且默認(rèn)字符集為alpha(A-Z),也需要花費(fèi)了164秒才能確定Scott的密碼為TIGERS,每秒鐘檢查的密碼個數(shù)為938,882。我們在檢查了差不多一半的密碼就很幸運(yùn)的中標(biāo)了。

如果排除物理因素的限制(CPU數(shù)量和處理器速度等),那么影響運(yùn)行完成時間的關(guān)鍵因素有兩個:密碼長度和字符集。如果你知道密碼長度和字符集(純字母還是字母加數(shù)字還是字母數(shù)字加特殊字符),你就能夠大大減少需要檢查的密碼數(shù)量。一開始就縮小猜測范圍當(dāng)然就能夠顯著減少運(yùn)行時間。

為了做個對比,我們把字符集改為alphanum,Scott的密碼不變,需要花費(fèi)6分多鐘才能找到Scott的密碼。如果在前面所用的同一個用戶密碼文件中添加另外一個用戶的密碼信息,假設(shè)也知道密碼長度同為6字符,且是字母加數(shù)字類型的,那么整個運(yùn)行時間超過了29分鐘(由于隱私的原因,下面所示的第二個用戶的名字和密碼都已經(jīng)編輯過了)。

  1. woraauthbf.exe -p c:\password_file.txt -m 6 -c alphanumUsernames will be permuted!  
  2.  
  3. The number of processors: 2 
  4.  
  5. Number of pwds to check: 2238976116 
  6.  
  7. Number of pwds to check by thread: 1119488058 
  8.  
  9. Password file: c:\password_file.txt, charset: alphanum, maximum length: 6, type: hash  
  10.  
  11. Start: 0 End: 1119488058 
  12.  
  13. Start: 1119488058 End: 2238976116 
  14.  
  15. Start array thread with 490 number of passwords!  
  16.  
  17. Writing session files...  
  18.  
  19. Writing session files...  
  20.  
  21. Writing session files...  
  22.  
  23. Writing session files...  
  24.  
  25. Writing session files...  
  26.  
  27. Writing session files...  
  28.  
  29. Password found: SCOTT:TIGERS:ORCL:MYPC  
  30.  
  31. Writing session files...  
  32.  
  33. Writing session files...  
  34.  
  35. Writing session files...  
  36.  
  37. ...  
  38.  
  39. Writing session files...  
  40.  
  41. Writing session files...  
  42.  
  43. Password found: SOMENAMES:X1M72Y:ORCL:MYPC  
  44.  
  45. Elpased time: 2152s  
  46.  
  47. Checked passwords: 1917149967 
  48.  
  49. Password / Second: 890868 
  50.  

上述密碼文件中的第二個條目來自一個8i數(shù)據(jù)庫系統(tǒng),而Scott的哈希值來自10g版本。本文的寓意非常明確:保護(hù)好任何會顯露用戶名及其哈希密碼值的東西,不要輕易讓其被他人存取,特別是SYS.USER$表(不要依賴DBA_USERS視圖)。

查找第二個用戶的密碼明文所花費(fèi)的運(yùn)行時間很合理。 有時候你可能要花費(fèi)好幾個小時(甚至好幾天)來查找某個密碼,不過這比起和那些討厭停機(jī)的用戶一起修改已經(jīng)忘掉的密碼花費(fèi)的成本要低多了。

【編輯推薦】

  1. Oracle密碼文件學(xué)習(xí)心得
  2. 詳聊驗證Oracle SQL語句
  3. 三分鐘搞定oracle用戶表空間
  4. Oracle導(dǎo)出sql語句存儲過程
  5. 詳聊Oracle用戶表空間寶典
責(zé)任編輯:yangsai 來源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2011-03-15 13:06:06

Oracle數(shù)據(jù)庫管理員

2011-03-15 13:25:41

Oracle數(shù)據(jù)庫管理員維護(hù)

2009-10-26 17:29:21

Oracle管理員數(shù)據(jù)庫管理

2011-03-15 11:34:43

Oracle數(shù)據(jù)庫管理員任務(wù)

2009-10-27 13:20:19

Oracle默認(rèn)管理員

2011-08-17 15:29:00

2009-07-19 10:06:12

2023-03-22 09:18:53

數(shù)據(jù)庫管理架構(gòu)

2017-10-20 14:59:43

2019-07-17 17:00:29

數(shù)據(jù)庫數(shù)據(jù)庫管理員DBA

2010-07-15 11:09:46

用戶帳戶數(shù)據(jù)庫管理

2011-03-15 13:18:45

Oracle數(shù)據(jù)庫管理員

2018-08-07 09:45:17

數(shù)據(jù)庫數(shù)據(jù)庫密碼破解密碼

2011-05-12 09:25:04

2011-03-24 17:40:07

2010-04-20 16:04:22

Oracle管理員

2011-07-15 15:12:54

SQL ServerDAC

2013-03-12 09:51:02

2010-04-21 11:53:03

Oracle數(shù)據(jù)庫

2010-04-26 09:10:09

Oracle數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號