
1.获取服务器上的Weblogic用户名、密码
工具:Xshell
第一步:连接至服务器上,新建目录;
mkdir /scripts/DecryptionDemo
第二步:将Decrypt.java放到新建的目录中,Decrypt.java就是具体用户解密的代码;
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));
}
}
第三步:寻找当前服务器上的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路径下,执行解密操作:
java -cp "$CLASSPATH:/scripts/DecryptionDemo/*" Decrypt username
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每个数据域的加密方式是不同的,也就是说每个数据域下的加密文件只适用于当前数据域。