本文針對常見的 Oracle 資料庫滲透測試指令進行風險分析,並提供對應的防護建議。嚴禁將此資訊用於未授權的系統測試或攻擊行為。所有技術細節僅供防禦參考,協助 DBA 與資安人員建立完善防線。
CONNECT / AS SYSDBA(OS 驗證繞過密碼)SYS/CHANGE_ON_INSTALL、SYSTEM/MANAGER、SCOTT/TIGERCONNECT INTERNAL/ORACLE AS SYSDBA(舊版相容)VERIFY_FUNCTION)。ALTER USER scott ACCOUNT LOCK PASSWORD EXPIRE;dba 群組成員,僅授權可信任人員使用 OS 驗證。SEC_CASE_SENSITIVE_LOGON = TRUE(11g+)強制大小寫敏感。GRANT CONNECT, RESOURCE, DBA TO user; 過度授予 DBA 權限GRANT SYSDBA TO user; 直接授予系統管理權限V_$PWFILE_USERS 列舉具備 SYSDBA/SYSOPER 的帳號DBA_SYS_PRIVS、DBA_ROLE_PRIVS、DBA_TAB_PRIVS。RESOURCE、DBA。AUDIT GRANT ANY PRIVILEGE, GRANT ANY ROLE, ALTER USER;STARTUP、SHUTDOWN IMMEDIATE 等實例控制指令SYSDBA、SYSOPER 登入來源(sqlnet.ora 設定 SQLNET.AUTHENTICATION_SERVICES = (NTS) 或防火牆限制)。V$DATABASE、V$INSTANCE、ALL_TABLES 取得結構資訊DESC 查看表結構SELECT * FROM user_source 取得 PL/SQL 原始碼PUBLIC 對敏感字典視圖的 SELECT 權限:REVOKE SELECT ON V_$DATABASE FROM PUBLIC;O7_DICTIONARY_ACCESSIBILITY = FALSE(預設)防止非 SYS 存取 SYS 物件。DBMS_DDL.WRAP 加密 PL/SQL 原始碼(參見文章 125367)。SU - ORACLE 切換至 Oracle 安裝擁有者帳號$ORACLE_HOME/network/admin/tnsnames.ora、sqlnet.ora 取得連線資訊/sbin/nologin)。SQLNET.ENCRYPTION_SERVER = REQUIRED、SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED。listener.ora、sqlnet.ora 設定,關閉不需的服務(如 EXTPROC)。資料庫安全是纵深防禦體系的核心層。瞭解攻擊者視角的常見向量,轉化為具體的防護配置與稽核機制,才能有效降低資料外洩與系統癱瘓風險。