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,然后就可以破解到原始的密码明文, 也许这是一个安全漏洞