Weblogic用户名密码获取
1.获取服务器上的Weblogic用户名、密码
工具:Xshell
第一步:连接至服务器上,新建目录;
mkdir /scripts/DecryptionDemo
第二步:将Decrypt.java放到新建的目录中,Decrypt.java就是具体用户解密的代码;
1 import weblogic.security.internal.*; 2 import weblogic.security.internal.encryption.*; 3 4 public class Decrypt { 5 static EncryptionService es = null; 6 static ClearOrEncryptedService ces = null; 7 8 public static void main(String args[]) { 9 String s = null; 10 if (args.length == 0) 11 s = ServerAuthenticate.promptValue("Password: ", false); 12 else if (args.length == 1) 13 s = args[0]; 14 else 15 System.err.println("Usage: java Decrypt [ password ]"); 16 es = SerializedSystemIni.getExistingEncryptionService(); 17 if (es == null) { 18 System.err.println("Unable to initialize encryption service"); 19 return; 20 } 21 ces = new ClearOrEncryptedService(es); 22 if (s != null) 23 System.out.println("\nDecrypted Password is:" + ces.decrypt(s)); 24 } 25 }
第三步:寻找当前服务器上的weblogic的wljarbuilder.jar;
locate wljarbuilder.jar
进入该路径,生成wlfullclient.jar,指令为:
java –jar wljarbuilder.jar
将生成的wlfullclient.jar复制到/scripts/DecryptionDemo目录下:
cp Oracle/Middleware/wlserver_10.3/server/lib/wlfullclient.jar /scripts/DecryptionDemo
第四步:寻找当前服务器上的weblogic的cryptoj.jar;并复制到/scripts/DecryptionDemo目录下;
第五步:寻找当前服务器上的weblogic的SerializedSystemIni.dat; 并复制到/scripts/DecryptionDemo目录下;
第六步:在/scripts/DecryptionDemo路径下,编译Decrypt.java;
javac -cp "$CLASSPATH:/scripts/DecryptionDemo/*" Decrypt.java
第七步:寻找账号密码文件boot.properties,获取原服务器上存储的加密后的用户名、密码;
第八步:在/scripts/DecryptionDemo路径下,执行解密操作:
1 java -cp "$CLASSPATH:/scripts/DecryptionDemo/*" Decrypt username 2 java -cp "$CLASSPATH:/scripts/DecryptionDemo/*" Decrypt password
示例如下:
2.获取本地的weblogic用户名、密码
第一步: 创建一个单独的目录, 例如 C:\DecryptionDemo;
第二步: 创建一个Java文件Decrypt.java, 代码内容同“1”中相同;
第三步: 运行相关命令解密位于D:\bea\user_projects\domains\1034\servers\AdminServer\security\boot.properties文件中的字符串:
call D:\bea\wlserver_10.3\server\bin\setWLSEnv.cmd copy D:\bea\user_projects\domains\1034\security\SerializedSystemIni.dat .\ javac Decrypt.java java -cp .;%CLASSPATH% Decrypt {AES}QxP9vMIXw7g39iRfGNlZ76TOoHq9bLhwnTjlBWopGBw=
ps:weblogic每个数据域的加密方式是不同的,也就是说每个数据域下的加密文件只适用于当前数据域。