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每個數據域的加密方式是不同的,也就是說每個數據域下的加密文件只適用於當前數據域。