一、驗證不能通過修改使用者的password實作登入不知道密碼的使用者
<code>[oracle@node1 ~]$ sqlplus /</code><code>as</code>
<code>sysdba</code>
<code> </code>
<code>SQL*Plus: Release 11.2.0.3.0 Production</code><code>on</code>
<code>Mon Nov 7 12:22:46 2011</code>
<code>Copyright (c) 1982, 2011, Oracle. </code><code>All</code> <code>rights reserved.</code>
<code>Connected</code><code>to</code><code>:</code>
<code>Oracle</code><code>Database</code>
<code>11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production</code>
<code>With</code>
<code>the Partitioning, Oracle Label Security, OLAP, Data Mining,</code>
<code>Vault</code><code>and</code>
<code>Real</code>
<code>Application Testing options</code>
<code>SQL></code><code>grant</code>
<code>create</code>
<code>session</code><code>to</code>
<code>xff identified</code><code>by</code>
<code>xifenfei;</code>
<code>Grant</code>
<code>succeeded.</code>
<code>SQL> conn xff/xifenfei</code>
<code>Connected.</code>
<code>SQL> conn /</code>
<code>as</code>
<code>chf identified</code><code>by</code>
<code>SQL> conn chf/xifenfei</code>
<code>SQL></code><code>desc</code>
<code>user</code><code>$</code>
<code> </code><code>Name</code>
<code>Null</code><code>? Type</code>
<code> </code><code>----------------------------------------- -------- ----------------------------</code>
<code> </code><code>USER</code><code># </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>
<code> </code><code>NAME</code>
<code>NOT</code> <code>NULL</code> <code>VARCHAR2(30)</code>
<code> </code><code>TYPE# </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>
<code> </code><code>PASSWORD</code>
<code>VARCHAR2(30)</code>
<code> </code><code>DATATS# </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>
<code> </code><code>TEMPTS# </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>
<code> </code><code>CTIME </code><code>NOT</code> <code>NULL</code> <code>DATE</code>
<code> </code><code>PTIME </code><code>DATE</code>
<code> </code><code>EXPTIME </code><code>DATE</code>
<code> </code><code>LTIME </code><code>DATE</code>
<code> </code><code>RESOURCE$ </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>
<code> </code><code>AUDIT$ VARCHAR2(38)</code>
<code> </code><code>DEFROLE </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>
<code> </code><code>DEFGRP# NUMBER</code>
<code> </code><code>DEFGRP_SEQ# NUMBER</code>
<code> </code><code>ASTATUS </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>
<code> </code><code>LCOUNT </code><code>NOT</code> <code>NULL</code> <code>NUMBER</code>
<code> </code><code>DEFSCHCLASS VARCHAR2(30)</code>
<code> </code><code>EXT_USERNAME VARCHAR2(4000)</code>
<code> </code><code>SPARE1 NUMBER</code>
<code> </code><code>SPARE2 NUMBER</code>
<code> </code><code>SPARE3 NUMBER</code>
<code> </code><code>SPARE4 VARCHAR2(1000)</code>
<code> </code><code>SPARE5 VARCHAR2(1000)</code>
<code> </code><code>SPARE6 </code><code>DATE</code>
<code>SQL></code><code>select</code>
<code>name</code><code>,</code><code>password</code>
<code>from</code>
<code>user</code><code>$</code><code>where</code>
<code>name</code>
<code>in</code><code>(</code><code>'XFF'</code><code>,</code><code>'CHF'</code><code>);</code>
<code>NAME</code>
<code>PASSWORD</code>
<code>------------------------------ ------------------------------</code>
<code>CHF F3CF2F0CB35CB6CA</code>
<code>XFF 1B60F4BFF1DAB500</code>
<code>SQL></code><code>alter</code>
<code>user</code> <code>xff identified</code><code>by</code>
<code>values</code>
<code>'F3CF2F0CB35CB6CA'</code><code>;</code>
<code>User</code>
<code>altered.</code>
<code>XFF F3CF2F0CB35CB6CA</code>
<code>ERROR:</code>
<code>ORA-01017: 使用者名/密碼無效; 登入被拒絕</code>
<code>Warning: You are</code>
<code>no</code>
<code>longer connected</code><code>to</code>
<code>ORACLE.</code>
<code>'1B60F4BFF1DAB500'</code><code>;</code>
注:這個實驗使用11g證明,其實10g也是同樣的結果;在oracle 9i中可以通過修改password的values值實作登入
二、使用orabf破解資料庫密碼
1、修改資料庫密碼
<code>xff01;</code>
<code>user</code> <code>chf identified</code><code>by</code>
<code>chf00; </code>
<code>CHF 05BD6F8AB28BD8CA</code>
<code>XFF A51B3879056B3DDD</code>
2、orabf使用
<code>C:\Users\XIFENFEI\Downloads\orabf-v0.7.6>orabf</code>
<code>orabf v0.7.6, (C)2005 [email protected]</code>
<code>---------------------------------------</code>
<code>usage: orabf [</code><code>hash</code><code>]:[username] [options]</code>
<code>options:</code>
<code>-c [num] complexity: a number</code><code>in</code>
<code>[1..6] or a filename</code>
<code> </code><code>- </code><code>read</code>
<code>words from stdin</code>
<code> </code><code>[</code><code>file</code><code>]</code><code>read</code>
<code>words from</code><code>file</code>
<code> </code><code>1 numbers</code>
<code> </code><code>2 alpha</code>
<code> </code><code>3 alphanum</code>
<code> </code><code>4 standard oracle (alpha)(alpha,num,_,</code><code>#,$)... (default)</code>
<code> </code><code>5 entire keyspace (</code><code>' '</code><code>..</code><code>'~'</code><code>)</code>
<code> </code><code>6 custom (charset</code><code>read</code>
<code>from first line of</code><code>file</code><code>: charset.orabf)</code>
<code>-m [num] max</code>
<code>pwd</code> <code>len: must be</code><code>in</code>
<code>the interval [1..14] (default: 14)</code>
<code>-n [num] min</code>
<code>the interval [1..14] (default: 1)</code>
<code>-r resume: tries to resume a previous session</code>
<code>C:\Users\XIFENFEI\Downloads\orabf-v0.7.6>orabf A51B3879056B3DDD:XFF</code>
<code>Trying default passwords...</code><code>done</code>
<code>Starting brute force session using charset:</code>
<code>#$0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_</code>
<code>press</code><code>'q'</code>
<code>to quit. any other key to see status</code>
<code>current password: D9X50</code>
<code>9229361 passwords tried. elapsed</code><code>time</code>
<code>00:00:13. t</code><code>/s</code><code>:697938</code>
<code>current password: HI0QJ</code>
<code>18967617 passwords tried. elapsed</code><code>time</code>
<code>00:00:27. t</code><code>/s</code><code>:698403</code>
<code>current password: OB</code><code>#QD</code>
<code>34743632 passwords tried. elapsed</code><code>time</code>
<code>00:00:49. t</code><code>/s</code><code>:698844</code>
<code>password found: XFF:XFF01</code>
<code>55826385 passwords tried. elapsed</code><code>time</code>
<code>00:01:19. t</code><code>/s</code><code>:704047</code>
<code>C:\Users\XIFENFEI\Downloads\orabf-v0.7.6>orabf 05BD6F8AB28BD8CA:CHF -c 3 -n 4 -m 6</code>
<code>0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ</code>
<code>password found: CHF:CHF00</code>
<code>22647601 passwords tried. elapsed</code><code>time</code>
<code>00:00:31. t</code><code>/s</code><code>:719113</code>
說明:-c 6不能正常運作,不清楚是不是因為我的win 7系統原因導緻
三、使用ops_sse2破解資料庫密碼
1、sys使用者的password
<code>password</code>
<code>name</code><code>=</code><code>'SYS'</code><code>;</code>
<code>------------------------------</code>
<code>18698BFD1A045BCC</code>
2、ops_sse2使用
<code>C:\Users\XIFENFEI\Downloads\ops_SIMD_win32>ops_sse2</code>
<code>Oracle passwords (DES) solver 0.3 (SSE2) -- Dennis Yurichev <[email protected]></code>
<code>Compiled @ Apr 5 2011 12:13:15</code>
<code>Demo version, supporting only SYS usernames.</code>
<code>Usage:</code>
<code> </code><code>ops_sse2.exe --hashlist=filename.txt</code>
<code> </code><code>[--min=min_password_length] [--max=max_password_length]</code>
<code> </code><code>[--first_symbol_charset=characters] [--charset=characters]</code>
<code> </code><code>[--results=filename.txt]</code>
<code>hashlist</code>
<code>file</code> <code>format</code><code>:</code>
<code>username:</code><code>hash</code><code>:comment_or_SID</code>
<code>By default, results are dumped to stdout.</code>
<code>This can be changed by setting --results option</code>
<code>Default values:</code>
<code> </code><code>min_password_length=1</code>
<code> </code><code>max_password_length=8</code>
<code> </code><code>first_symbol_charset=ABCDEFGHIJKLMNOPQRSTUVWXYZ</code>
<code> </code><code>charset=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789</code><code>#$_</code>
<code>#ops_file.txt内容</code>
<code>SYS:18698BFD1A045BCC:xff</code>
<code>C:\Users\XIFENFEI\Downloads\ops_SIMD_win32>ops_sse2 --hashlist=ops_file.txt --min=6 --charset=CDEFNHITX</code>
<code>username=SYS: 1 unsolved</code><code>hash</code><code>(es) left</code>
<code>Checking 6-symbol passwords</code><code>for</code>
<code>username SYS</code>
<code>overall progress= 0%</code>
<code>Checking 7-symbol passwords</code><code>for</code>
<code>overall progress= 98% /</code><code>time</code>
<code>remaining:</code>
<code>time</code>
<code>elapsed: 12s, ~ 1160449 passwords</code><code>/hashes</code>
<code>per second</code>
<code>Checking 8-symbol passwords</code><code>for</code>
<code>overall progress= 91% /</code><code>time</code>
<code>remaining: 8s</code>
<code>elapsed: 1m31s, ~ 1248875 passwords</code><code>/hashes</code>
<code>SYS</code><code>/xff</code><code>: Found password: XIFENFEI</code>
<code>SYS:XIFENFEI:xff</code>
說明:Demo version隻能使用于破解sys使用者的密碼,而且秘密長度不能超過8.
綜合說明的試驗,雖然都有缺陷,但是相對而已還是orabf破解更加的給力點
<a target="_blank" href="http://www.xifenfei.com/wp-content/uploads/2011/11/orabf-v0.7.6.zip">orabf-v0.7.6下載下傳</a>
<a target="_blank" href="http://www.xifenfei.com/wp-content/uploads/2011/11/ops_SIMD_win32.zip">ops_SIMD_win32</a>
<a target="_blank" href="http://www.xifenfei.com/wp-content/uploads/2011/11/ops_SIMD_linux86.tar">ops_SIMD_linux86</a>