Finding
Application user password in R12:
1. CREATE OR REPLACE PACKAGE get_pwd
AS
FUNCTION
decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
RETURN VARCHAR2;
END get_pwd;
/
2. 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;
/
3. 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 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 fnd_user
usr
WHERE
usr.user_name = '&USER_NAME';
See
the Output
SQL>
SELECT usr.user_name,
2
get_pwd.decrypt
3
((SELECT (SELECT get_pwd.decrypt
4 (fnd_web_sec.get_guest_username_pwd,
usertable.encrypted_foundation_password
5
6 )
7 FROM DUAL) AS
apps_password
FROM fnd_user usertable
8
9 WHERE usertable.user_name =
(SELECT SUBSTR
10
11
(fnd_web_sec.get_guest_username_pwd,
12 1,
13 INSTR
(fnd_web_sec.get_guest_username_pwd,
14
15
'/'
16 )
- 1
17
18 )
FROM DUAL)),
19
20
usr.encrypted_user_password
21
) PASSWORD
FROM fnd_user usr
22
23 WHERE usr.user_name =
'&USER_NAME';
Enter
value for user_name: 46840
old 23:
WHERE usr.user_name = '&USER_NAME'
new 23:
WHERE usr.user_name = '46840'
USER_NAME
--------------------------------------------------------------------------------
PASSWORD
--------------------------------------------------------------------------------
447473
Passw0rd2
No comments:
Post a Comment