程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 訪問Oracle數據庫時如何限制繞過漏洞

訪問Oracle數據庫時如何限制繞過漏洞

編輯:Oracle數據庫基礎

導 讀

Oracle 9.2.0.0到10.2.0.3版本允許在基表中僅有SELECT權限的用戶通過特制的視圖插入/更新/刪除數據,成功利用這個漏洞的低權限用戶可以通過創建特制的視圖導致插入、更新和刪除數據。

受影響系統:

Oracle Database 9.2.0.0 - 10.2.0.3

描 述:

BUGTRAQ ID: 17426

Oracle是大型的商業數據庫系統。Oracle 9.2.0.0到10.2.0.3版本允許在基表中僅有SELECT權限的用戶通過特制的視圖插入/更新/刪除數據,成功利用這個漏洞的低權限用戶可以通過創建特制的視圖導致插入、更新和刪除數據。

這個漏洞對Oracle數據詞典的影響較低,因為大多數詞典表沒有primary key,而利用這個漏洞必須primary key。

測試方法:

警 告:

以下程序(方法)可能帶有攻擊性,僅供安全研究與教學之用。使用者風險自負!

假設用戶dbsnmp僅有SELECT ANY DICTIONARY權限,無法更新數據詞典中的表格。

C:\>sqlplus dbsnmp/dbsnmp 

SQL*Plus: Release 10.1.0.4.0 - Production on Thu Apr 8 19:20:27 2006 

Copyright (c) 1982, 2005, Oracle. All rights reserved. 

Connected to: 

Oracle Database 10g Enterprise Edition Release 10.1.0.4.0- Production With the 

Partitioning, OLAP and Data Mining options 

SQL> select * from v$version; 

BANNER 

Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Prod PL/SQL Release 

10.1.0.4.0 - Production 

CORE 10.1.0.4.0 Production 

TNS for 32-bit Windows: Version 10.1.0.4.0 - Production NLSRTL Version 10.1.0.4.0 - 

Production 

SQL> -- 無法從數據詞典刪除數據(正常) 

SQL> delete from sys.registry$; 

delete from sys.registry$ 

* 

ERROR at line 1: 

ORA-01031: insufficient privileges 

SQL> -- 創建特制的自定義視圖 

SQL> create or replace view e as select [...censored...]; 

VIEw created. 

SQL> -- 通過視圖丟棄數據!!! ==> 安全漏洞 !!! 

SQL> delete from e; 

17 rows deleted.

建議,臨時解決方法:

如果您不能立刻安裝補丁或者升級,NSFOCUS建議您采取以下措施以降低威脅:

* 過濾9i到10g R1的連接角色,刪除CREATE VIEW(以及CREATE DATABASE LINK等)權限。

* 從基表刪除primary key。請注意這可能導致性能和完整性問題。

廠商補丁: Oracle

目前廠商還沒有提供補丁或者升級程序,我們建議使用此軟件的用戶隨時關注廠商的主頁以獲取最新版本。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved