首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 預設帳號密碼安全風險分析與防範實戰

     編輯:Oracle 資料庫相關知識

Oracle 安全特性概覽

Oracle 以高性能事務處理、工業標準兼容性、安全完整性控制、分布式架構著稱,通過 ANSI/ISO SQL89 二級認證。但軟件特性無法替代人為安全意識,配置疏忽仍會導致嚴重漏洞。

預設密碼隱患

安裝後擁有 DBA 權限的 SYS 與 SYSTEM 默認密碼均為 MANAGER。大量國內網站(含大型電商)未修改預設口令,導致攻擊者可直接獲取最高權限。

攻擊演示:從端口掃描到拿 Shell

1. 目標發現

使用 SuperScan 掃描開放 1521 端口(TNS Listener 默認端口)的主機,假設目標 IP 為 xx.xx.110.110。

2. 服務枚舉

利用 Perl 腳本 tnscmd.pl 查詢遠程實例信息:

perl tnscmd.pl services -h xx.xx.110.110 -p 1521 --indent

回顯關鍵字段:SERVICE_NAME=ORCL、INSTANCE_NAME=ORCL、HANDLER=DEDICATED SERVER。

3. 弱口令嘗試

使用 SQL*Plus 遠程連接測試常見預設帳號:

SQL> CONNECT SYSTEM/MANAGER@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xx.xx.110.110)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCL)));

若失敗,嘗試 SYS/MANAGER、DBSNMP/DBSNMP、MDSYS/MDSYS、CTXSYS/CTXSYS 等版本相關預設帳號。實測 DBSNMP/DBSNMP 成功率極高。

防護建議

  1. 安裝即修改:部署後立即更改 SYS、SYSTEM 及所有預設帳號密碼,啟用密碼複雜度驗證函數。
  2. 最小權限原則:鎖定或刪除業務不需要的預設帳號(ALTER USER ... ACCOUNT LOCK)。
  3. 網絡隔離:防火牆限制 1521 僅對應用服務器開放,禁用外網直連。
  4. 審計監控:開啟 AUDIT_TRAIL=DB,EXTENDED 記錄所有登入嘗試與 DDL 操作。
  5. 定期滾動:建立密碼輪換機制,結合 PROFILE 強制過期。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved