Linux-weblogic 10.3.6控制台密码解密脚本

1.编写破译密码程序 Decrypt.java

import weblogic.security.internal.*;
import weblogic.security.internal.encryption.*;
import java.io.PrintStream;
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));
        }
    }
}
View Code

2.执行setWLSEnv.sh脚本,执行后会输出CLASSPATH和PATH环境变量(只列出部分)

必须执行此命令不然下一步编译的时候,由于找不到环境变量会报错

CLASSPATH=/Oracle/Middleware/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/anker/Oracle/Middleware/patch_ocp371/jdk1.7.0_79/lib/dt.jar:/sou/java/jdk1.7.0_79/lib/tools.jar

PATH=sr/sbin:/sbin:/usr/local/sbin:/bin:/home/weblogic/bin

2.1.编译破译密码程序,执行后会生产一个class文件
   javac Decrypt.java

3.编写破密脚本 

vim Decrypt.sh

#!/bin/bash
#1.把domain中security文件夹下面的SerializedSystemIni.dat拷贝到当前目录下
#1.1.SerializedSystemIni.dat是weblogic的加密密钥
#2.执行setWLSEnv.sh脚本,执行后会出来一长串环境变量,分别是CLASSPATH和PATH
#weblogic安装目录
webdir=/weblogic/Oracle/Middleware
#加载环境变量
. $webdir/wlserver_10.3/server/bin/setWLSEnv.sh
#boot.properties文件中加密的串
password={AES}S+n04CS0sfMxBRBVqOgOlG/vurdP/D7rotONtE4\=
username={AES}YLJ+VQAvmYU7/hl/Vxu8b4L6e3Bn0tf0PGSlh9Q4\=
#解密
java Decrypt $username
java Decrypt $password
View Code

4.执行破密脚本

 

posted @ 2022-07-29 17:02  shiyunyier  阅读(304)  评论(0)    收藏  举报