首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 9i/10g 權限繞過漏洞:低權限用戶透過視圖竄改基表數據

     編輯:Oracle 資料庫基礎

漏洞概況

影響版本:Oracle Database 9.2.0.0 ~ 10.2.0.3
Bugtraq ID:17426
核心問題:僅擁有基表 SELECT 權限的用戶,可透過建立特製視圖,對該基表執行 INSERT/UPDATE/DELETE 操作,繞過權限檢查。

漏洞原理

Oracle 在處理視圖上的 DML 操作時,未正確驗證基表的主鍵約束與用戶權限。攻擊者建立包含特定條件 (需基表有主鍵) 的視圖,再對視圖發起 DML,資料庫錯誤地允許操作通過。因多數資料字典表無主鍵,字典受影響程度較低。

概念驗證 (僅供教學研究)

-- 假設用戶 dbsnmp 僅有 SELECT ANY DICTIONARY
SQL> DELETE FROM sys.registry$;  -- 正常失敗 ORA-01031

SQL> CREATE OR REPLACE VIEW e AS SELECT [...特製查詢...];  -- 成功建立視圖
SQL> DELETE FROM e;  -- 驚人地刪除了 17 筆字典資料!

緩解措施

  1. 收回高風險權限:從 9i 至 10g R1 的連線角色移除 CREATE VIEW、CREATE DATABASE LINK 等權限。
  2. 移除基表主鍵 (權衡方案):犧牲效能與完整性,移除關鍵表的主鍵以阻斷攻擊路徑。

廠商補丁狀態

發布時 Oracle 尚未提供官方補丁,請持續關注 Oracle Security Alerts 並儘速套用 CPU/PSU。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved